python讀寫文件方法

python讀寫文件方法

ID:34708000

大?。?0.51 KB

頁數(shù):6頁

時間:2019-03-09

python讀寫文件方法_第1頁
python讀寫文件方法_第2頁
python讀寫文件方法_第3頁
python讀寫文件方法_第4頁
python讀寫文件方法_第5頁
資源描述:

《python讀寫文件方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、1open使用open打開文件后一定要記得調(diào)用文件對象的close()方法。比如可以用tryfinally語句來確保最后能關(guān)閉文件。file_object=open(&1.open使用open打開文件后一定要記得調(diào)用文件對象的close()方法。比如可以用try/finally語句來確保最后能關(guān)閉文件。file_object=open('thefile.txt')try:all_the_text=file_object.read()finally:file_object.close()注:不能把open語句放在try塊里,因為當(dāng)打開文件出

2、現(xiàn)異常時,文件對象file_object無法執(zhí)行close()方法。2.讀文件讀文本文件input=open('data','r')#第二個參數(shù)默認(rèn)為rinput=open('data')讀二進(jìn)制文件input=open('data','rb')讀取所有內(nèi)容file_object=open('thefile.txt')try:all_the_text=file_object.read()finally:file_object.close()讀固定字節(jié)file_object=open('abinfile','rb')try:whileTru

3、e:chunk=file_object.read(100)ifnotchunk:breakdo_something_with(chunk)finally:file_object.close()讀每行l(wèi)ist_of_all_the_lines=file_object.readlines()如果文件是文本文件,還可以直接遍歷文件對象獲取每行:forlineinfile_object:processline3.寫文件寫文本文件output=open('data','w')寫二進(jìn)制文件output=open('data','wb')追加寫文件ou

4、tput=open('data','w+')寫數(shù)據(jù)file_object=open('thefile.txt','w')file_object.write(all_the_text)file_object.close()寫入多行file_object.writelines(list_of_text_strings)注意,調(diào)用writelines寫入多行在性能上會比使用write一次性寫入要高。在處理日志文件的時候,常常會遇到這樣的情況:日志文件巨大,不可能一次性把整個文件讀入到內(nèi)存中進(jìn)行處理,例如需要在一臺物理內(nèi)存為2GB的機器上處理一個

5、2GB的日志文件,我們可能希望每次只處理其中200MB的內(nèi)容。在Python中,內(nèi)置的File對象直接提供了一個readlines(sizehint)函數(shù)來完成這樣的事情。以下面的代碼為例:file=open('test.log','r')sizehint=209715200#200Mposition=0lines=file.readlines(sizehint)whilenotfile.tell()-position<0:position=file.tell()lines=file.readlines(sizehint)每次調(diào)用read

6、lines(sizehint)函數(shù),會返回大約200MB的數(shù)據(jù),而且所返回的必然都是完整的行數(shù)據(jù),大多數(shù)情況下,返回的數(shù)據(jù)的字節(jié)數(shù)會稍微比sizehint指定的值大一點(除最后一次調(diào)用readlines(sizehint)函數(shù)的時候)。通常情況下,Python會自動將用戶指定的sizehint的值調(diào)整成內(nèi)部緩存大小的整數(shù)倍。file在python是一個特殊的類型,它用于在python程序中對外部的文件進(jìn)行操作。在python中一切都是對象,file也不例外,file有file的方法和屬性。下面先來看如何創(chuàng)建一個file對象:file(na

7、me[,mode[,buffering]])file()函數(shù)用于創(chuàng)建一個file對象,它有一個別名叫open(),可能更形象一些,它們是內(nèi)置函數(shù)。來看看它的參數(shù)。它參數(shù)都是以字符串的形式傳遞的。name是文件的名字。mode是打開的模式,可選的值為rwaU,分別代表讀(默認(rèn))寫添加支持各種換行符的模式。用w或a模式打開文件的話,如果文件不存在,那么就自動創(chuàng)建。此外,用w模式打開一個已經(jīng)存在的文件時,原有文件的內(nèi)容會被清空,因為一開始文件的操作的標(biāo)記是在文件的開頭的,這時候進(jìn)行寫操作,無疑會把原有的內(nèi)容給抹掉。由于歷史的原因,換行符在不同的

8、系統(tǒng)中有不同模式,比如在unix中是一個,而在windows中是‘r’,用U模式打開文件,就是支持所有的換行模式,也就說‘r’'''r'都可表示換行,會有一個tuple用

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。