python 檔案操作

2022-07-26 00:39:15 字數 4378 閱讀 5858

內容概括:

1.python open()函式檔案開啟操作

開啟檔案會用到open函式,標準的python開啟檔案語法如下:

open(name[,mode[,buffering]])

f = open(name,『r』)

f.read() #讀取所有檔案內容

readline () #讀取一行檔案內容

readlines ()# 以行為單位讀取所有檔案內容,然後每行作為乙個元素存放到列表中

# 『w』以寫的方式開啟檔案,覆蓋檔案的所有內容,如果沒有這個檔案,他會建立檔案

r(read) #讀,檔案存在直接可以讀,檔案不存在會報錯

w(write) #寫,檔案存在,會覆蓋檔案內容,檔案不存在會建立檔案

r+ 讀寫 不建立新檔案 檔案讀寫指標在開頭

w+ 讀寫 建立新檔案 讀寫指標在開頭 如果檔案存在會覆蓋這個檔案之前的內容

a+ 讀寫 建立新檔案 讀寫指標在末尾 不會覆蓋這個檔案之前的內容

seek()函式,修改訪問檔案中指標的位置

file_object.seek(offset,whence)

offset:

開始的偏移數,也就是代表需要移動偏移的位元組數

whence:

0 表示從頭開始計算

1 表示以當前位置為原點進行計算

2 表示以檔案末尾為原點進行計算

# coding=utf-8

with open('f.txt','w+') as f:

print f.tell() #返回檔案的當前位置讀/寫指標

f.write('i love python\n')

print f.tell()

f.flush() #將緩衝區中的資料立刻寫入檔案,同時清空緩衝區

f.seek(0,0)

print 'now:',f.tell()

print f.read()

print '----------'

# coding=utf-8

with open('f.txt','w+') as f:

print f.tell()#初始位置

f.write('i love python\n')

f.write('i love python\n')

print f.tell()#游標的當前位置

f.flush()

f.seek(-10,2)

print 'now:',f.tell()

print f.read()

print '----------'

#print f.readline()

#print content

案例:

1.實現乙個賬戶註冊的**

2.實現用已註冊的賬戶登入

#!/usr/bin/env python

# -*- coding:utf-8 -*-

'''定義函式,註冊,查詢有沒有相同的使用者名稱,如果有,則提示

登入,查詢使用者名稱是否存在,存在則進行操作,否則提示

登入成功,列印出所有的使用者名稱密碼

'''def getusername(aa):

f = open("passwd2.txt")

for line in open("passwd2.txt"):

result = f.readline()

if name in result:

return true

return false

def getuserexist(username,passwd):

with open("passwd2.txt") as f:

result = f.readlines()

for line in result:

content = "".join(line).strip()

content = content.split("\t")

if username == content[0] and passwd == content[1]:

return true

return false

def getalluser():

with open("passwd2.txt") as f:

return f.readlines()

while true:

print u''' *********************

1.註冊 \n

2.登入 \n

3.q 退出

*********************

''' choice = raw_input(u"請輸入你的選擇數字:")

if choice.isdigit():

if choice == "1":

with open("passwd2.txt","a+") as f:

name = raw_input(u"請輸入要註冊的使用者名稱:")

if len(name)>0:

if not getusername(name):

passwd = raw_input(u"請輸入註冊的密碼:")

if len(passwd)>0:

f.write(name.strip()+"\t"+passwd.strip()+"\n")

print u"註冊成功"

else:

print u"密碼不能為空"

else:

print u"當前使用者已註冊,請輸入新的使用者名稱"

else:

print u"使用者名稱不能為空"

elif choice == "2":

name = raw_input(u"請輸入要登入的使用者名稱:")

if getusername(name):

passwd = raw_input(u"請輸入要登入的密碼:")

if getuserexist(name,passwd):

print u"登入成功"

print getalluser()

continue

else:

print u"輸入密碼不對"

else:

print u"輸入的使用者名稱不存在"

continue

elif choice == "q":

break

else:

print u"請輸入正確的數字"

#coding:gbk

import sys,os

i = 0

while i<3:

name = raw_input("請輸入你的使用者名稱:")

account_file = open("account_lock.txt","r+")

result = account_file.readlines()

for line in result:

line = line.strip("\n")

if name == line:

sys.exit("wwww")

user_file = open("passwd.txt")

user_info = user_file.readlines()

for line in user_info:

user_name,user_passwd = line.strip("\n").split()

if user_name == name:

j = 0

while j<3:

passwd = raw_input("請輸入密碼:")

if user_passwd == passwd:

print "登入成功,歡迎%s使用者"%name

print user_info

sys.exit(0)

else:

if j!=2:

print "你還剩餘餘%d次輸入機會"%(2-j)

j +=1

else:

account_file.write(name+"\n")

print "輸入超過最大次數,賬戶將被鎖定"

sys.exit("www")

else:

print "輸入的使用者不存在,還剩餘%d次輸入機會"%(2-i)

i+=1

else:

print "使用者不存在,系統退出"

account_file.close()

user_file.close()

python 檔案操作

簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...

python檔案操作

1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...

Python 檔案操作

1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...