# Auther: Aaron Fan ''' 打開文件的模式有三種: r,只讀模式(默認(rèn))。 w,只寫模式?!静豢勺x;不存在則創(chuàng)建;存在則刪除內(nèi)容;因為會清空原有文件的內(nèi)容,一定要慎用】 a,追加模式?!究勺x; 不存在則創(chuàng)建;存在則只追加內(nèi)容;】 注意最后要記得關(guān)閉文件:f.close() python只能將字符串寫入到文本文件。要將數(shù)值數(shù)據(jù)存儲到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式。 #r模式(只讀模式) f = open('yesterday',encoding='utf-8') data = f.read() f.close() print(data) #只讀文件的前5行: f = open('yesterday','r',encoding='utf-8') for i in range(5): print(f.readline()) #以列表的方式讀取這個文件 f = open('yesterday','r',encoding='utf-8') for line in f.readlines(): print(line) #對文件的第3行,做一個特殊的打?。ㄟ@種方式比較低效,因為它會先把文件全部讀取到內(nèi)存中,文件較大時會很影響性能) f = open('yesterday','r',encoding='utf-8') for index,line in enumerate(f.readlines()): if index == 2: print('-----測試線----',line) continue print(line) #比較高效的,逐行讀取文件內(nèi)容,因為它是一行一行的去讀取文件,不會先把文件一次性全部讀取到內(nèi)存中 f = open('yesterday','r',encoding='utf-8') for line in f: print(line) #比較高效的,對文件的3三行進行過特殊打印 f = open('yesterday','r',encoding='utf-8') count = 0 for line in f: if count == 2: print('------測試線----:',line) count += 1 print(line) #w模式(如果沒有就創(chuàng)建文件,如果有就清空文件,一定要慎用) f = open('yesterday','w',encoding='utf-8') f.write("這就是一行測試 ") f.write("測試2 ") f.write("測試3") #a模式(追加模式,如果沒有就創(chuàng)建文件,如果有就把內(nèi)容追加進去) f = open('yesterday','a',encoding='utf-8') f.write("test1 ") #文件光標(biāo)的操作 f = open('yesterday','r',encoding='utf-8') #獲得文件的光標(biāo) print(f.tell()) print(f.readline()) print(f.tell()) #回到最開始的位置(也可以指定一個位置,前提是你得知道你去往的字符具體在哪個位置才行) f.seek(0) #顯示文件的編碼 print(f.encoding) #顯示文件句柄的編號(我并不確定這個說法是否正確,用到時請仔細(xì)去查一下) print(f.fileno()) #測試是否是一個終端設(shè)備文件 print(f.isatty()) #把緩存的內(nèi)容刷新到硬盤(進度條那個腳本里有寫一個示例) f.flush() #指定文件從哪里開始截斷,如果沒有參數(shù),默認(rèn)從0開始等于清空了這個文件 #f.truncate() #r+ 模式(讀,追加模式) f = open('yesterday','r+',encoding='utf-8') data = f.read() print(data) f.write("test... ") #還有 w+寫讀模式, a+追加讀模式,這一般不用,真用到了再去了解下吧 #rb 模式,以二進制的方式讀取這個文件 #wb 模式,二進制寫 ''' ''' #with語句(很實用,記得要經(jīng)常用喲~,在《Python編程從入門到實戰(zhàn)》那本書里的文件與異常那一章有詳細(xì)用法) #為了避免打開文件后忘記關(guān)閉,可以通過管理上下文,即: with open('log','r') as f: ... #如此方式,當(dāng)with代碼塊執(zhí)行完畢時,內(nèi)部會自動關(guān)閉并釋放文件資源。 #在Python 2.7 后,with又支持同時對多個文件的上下文進行管理,即: with open('log1') as obj1, open('log2') as obj2: pass '''
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com