打開文件
操作文件
1打開文件時,需要指定文件路徑和打開方式
打開方式:
r:只讀
w:只寫
a:追加
“+”表示可以同時讀寫某個文件
r+:讀寫
w+:寫讀
a+:同a
U"表示在讀取時,可以將 /r /n /r/n自動轉(zhuǎn)換成 /n (與 r 或 r+ 模式同使用)
rU
r+U
"b"表示處理二進(jìn)制文件(如:FTP發(fā)送上傳ISO鏡像文件,linux可忽略,windows處理二進(jìn)制文件時需標(biāo)注)
rb
wb
ab
f = open('test.log','r+',encoding='utf-')f.write('saf中sdhgrbfds')print(f.tell()) #查看當(dāng)前指針位置,以字符為單位f.seek() #指定當(dāng)前指針位置,以字節(jié)為單位print(f.read())f.truncate() #讀取指針之前的數(shù)據(jù)print(f.tell())f.close() 二:常見的文件運算
f = open('data', 'r') #以只讀形式打開(默認(rèn)就是只讀)
f = open('f.txt', encoding='latin-1') #python3.0 Unicode文件
string = f.read() #把文件讀入一個字符串中
string = f.read(N) #讀取指針后的N個字節(jié)
string = f.readline() #讀取下一行,包括行末標(biāo)識符
alist = f.readlines() #讀取整個文件到字符串列表
f.write() #將字符串寫入文件
f.writelines() #將列表內(nèi)所有字符串寫入文件
f.close() #手動關(guān)閉
f.flush() #把輸出緩沖區(qū)刷到硬盤中
f.seek(N) #將文件指針移到N處,以字節(jié)為單位
for line in open('data'):
print(line) #文件迭代器將文件一行行讀出
open('f.txt','r').read() #read all at ance into string
三:在文件中存儲并解析python對象
x,y,z = 41,42,43s = 'spam'D = {'a':1, 'b':2} #字典對象L = ['a','b','c'] #列表f = open('f.txt','w')f.write(s + '/n')f.write('%s,%s,%s/n'%(x,y,z))f.write(str(D))f.write('/n')f.write(str(L))f.close()print(open('f.txt').read()) #將文件內(nèi)容輸出#從文件中取出數(shù)據(jù),并判斷其類型'''a = fi.readline()b = fi.readline()c = fi.readline()d = fi.readline()print(a,b,c,d,type(a),type(b),type(c),type(d))'''# 從文件中取出數(shù)據(jù),并轉(zhuǎn)換為存儲前的類型fi = open('f.txt')a = fi.readline().rstrip() #rstrip()去掉換行符print(a,type(a))b = fi.readline().rstrip().split(',') #字符串的split()方法,在括號中寫入分隔符,將字符串分割為列表。print(b,type(b))c = fi.readline()C = eval(c) #調(diào)用內(nèi)置函數(shù)eval(),將字符串轉(zhuǎn)化為可執(zhí)行的python代碼。print(C,type(C),type(c))d = fi.readline()D = eval(d)print(D,type(D),type(d)) 以上所述是小編給大家介紹的Python對文件操作知識匯總的相關(guān)知識,希望對大家有所幫助!



















