摘要:如果文件已經(jīng)存在,文件指針將會在文件末尾。以二進制方式打開一個文件用于讀寫,文件指針將放在文件開頭。關(guān)閉結(jié)果文件內(nèi)容為這么帥的程序員,人間罕見呀。讀數(shù)據(jù)表示從文件中讀取的長度,單位字節(jié),如果沒有傳,將會讀取文件的所有內(nèi)容。
Python文件處理
上一篇文章:Python異常處理1、文件的打開與關(guān)閉
下一篇文章:Python文件夾處理
打開語法:open(文件名,訪問模式)關(guān)閉語法:close()
訪問模式 | 解釋 |
---|---|
r | 以只讀方式打開,文件的指針將會放在文件的開頭。這是默認方式。 |
w | 打開一個文件,用于全新寫入。如果文件以存在,將會覆蓋,如果不存在,將會創(chuàng)建。 |
a | 打開一個文件,用于追加。如果文件以及存在,將會把文件指針放到文件末尾,如果不存在,將會新建。 |
rb | 以二進制方式打開一個文件,用于只讀。 |
wb | 以二進制方式打開一個文件,用于全新寫入。如果文件已經(jīng)存在,將會覆蓋,如果不存在,將會創(chuàng)建。 |
ab | 以二進制方式打開一個文件,用于追加寫入。如果文件存在,將會把文件指針放到文件末尾;如果不存在,將會新建。 |
r+ | 打開一個文件用讀寫,文件指針將會放在文件開頭。 |
w+ | 打開一個文件用于讀寫。如果文件已經(jīng)存在,則覆蓋,不存在則創(chuàng)建。 |
a+ | 打開一個文件用于追加讀寫。如果文件已經(jīng)存在,文件指針將會在文件末尾。如果文件不存在,將會創(chuàng)建。 |
rb+ | 以二進制方式打開一個文件用于讀寫,文件指針將放在文件開頭。 |
wb+ | 以二進制方式打開一個文件用于讀寫,如果文件存在將被覆蓋,不存在將會創(chuàng)建。 |
ab+ | 以二進制方式打開一個文件用于讀寫,如果文件存在,文件指針將會在文件末尾,如果文件不存在,將會創(chuàng)建。 |
實例:
#第一次運行將會新建一個文件test.txt file=open("text.txt","w") #關(guān)閉 file.close()
結(jié)果:
當(dāng)前目錄下回出現(xiàn)一個新文件:text.txt
2、寫數(shù)據(jù)使用write()來寫入數(shù)據(jù)
實例:
#第一次運行將會新建一個文件test.txt file=open("text.txt","w") file.write("這么帥的程序員,人間罕見呀。") #關(guān)閉 file.close()
結(jié)果:text.txt文件內(nèi)容為:
這么帥的程序員,人間罕見呀。3、讀數(shù)據(jù)
read(num):num表示從文件中讀取的長度,單位字節(jié),如果沒有傳num,將會讀取文件的所有內(nèi)容。
實例:
text.txt:
這么帥的程序員,人間罕見呀。
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") print(file.read(2)) print(file.read()) #關(guān)閉 file.close()
結(jié)果:
這么 帥的程序員,人間罕見呀。
不難看出:如果讀了多次,下次讀取是從上次讀取結(jié)束位置開始的。
readlines(num):num為讀取行數(shù),如果不指定,將會返回全部,返回結(jié)果是有每行數(shù)據(jù)作為每個元素而組成的列表。
實例:
text.txt:
這么帥的程序員,人間罕見呀。 現(xiàn)在看到這句話的人是世上最幸運的人, 因為他(她)看到了的最帥的程序員寫的Bug。
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") content=file.readlines() #type方法用來查看對于數(shù)據(jù)所屬類型 print(type(content)) print(content) #關(guān)閉 file.close()
結(jié)果:
["這么帥的程序員,人間罕見呀。 ", "現(xiàn)在看到這句話的人是世上最幸運的人, ", "因為他(她)看到了的最帥的程序員寫的Bug。"]
每次讀取一行
實例:
text.txt:
這么帥的程序員,人間罕見呀。 現(xiàn)在看到這句話的人是世上最幸運的人, 因為他(她)看到了的最帥的程序員寫的Bug。
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") print(file.readline()) print(file.readline()) print(file.readline()) #關(guān)閉 file.close()
結(jié)果:(每行后面都有換行符,所有下面結(jié)果行數(shù)之間會有空格)
這么帥的程序員,人間罕見呀。 現(xiàn)在看到這句話的人是世上最幸運的人, 因為他(她)看到了的最帥的程序員寫的Bug。5、獲取當(dāng)前讀寫位置
tell():獲取當(dāng)前讀寫位置。
實例:
text.txt:(注意,此處該用了字母,沒有漢字,用了漢字結(jié)果會怎樣呢,有獎競猜呢
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/44759.html
摘要:筆試問題如何使用讀取個大小的文件這個問題其實在筆試中會經(jīng)常遇到的個題目。解決方案在中除了使用方法讀取文件內(nèi)容外還有另外個方法和也可以進行內(nèi)容的讀取。結(jié)果發(fā)現(xiàn)使用的方式還是會導(dǎo)致內(nèi)存不足的情況發(fā)生而通過讀取指定字節(jié)的方式則可以處理完這個文件。 筆試問題 如何使用Python讀取1個8GB大小的文件,這個問題其實在筆試中會經(jīng)常遇到的1個題目。對于在Python中讀取文件的操作,一般我們會這...
摘要:如果傳一個中文,下和下編碼分別是和,可以自己用打印看看文件中寫死,本來理解是跟這個文件本身編碼有關(guān),但文件編碼同樣是的情況下,下打印了的超集,下仍然是。 對編碼問題一直一知半解,之前也是得過且過,正好有個同事要我?guī)兔憘€腳本,涉及這方面的問題,借這個契機研究了一下. 先貼幾篇比較好的: 1.阮老師的上古文章(07年…),雖然古老但對理解幫助很大,從最基礎(chǔ)講起,邏輯清晰易理解. (ps:...
摘要:如果有一個異常程序沒有處理,那么將調(diào)用默認的處理器處理,并終止程序且給出提示。引發(fā)異常你可以用語句來引發(fā)一個異常。異常錯誤對象必須有一個名字,且它們應(yīng)是或類的子類。參考資料凌風(fēng)技術(shù)站異常機制講解 當(dāng)你的程序中出現(xiàn)異常情況時就需要異常處理。比如當(dāng)你打開一個不存在的文件時。當(dāng)你的程序中有一些無效的語句時,Python會提示你有錯誤存在。下面是一個拼寫錯誤的例子,print寫成了Print。...
摘要:文件夾處理上一篇文章文件處理下一篇文章淺拷貝與深拷貝創(chuàng)建文件夾我是創(chuàng)建的文件夾獲取當(dāng)前目錄結(jié)果文件夾獲取目錄列表結(jié)果創(chuàng)建文件夾我是創(chuàng)建的文件夾獲取目錄列表刪除文件夾修改默認目錄獲取當(dāng)前目錄修改默認路徑切換路徑返回上一目錄結(jié)果文件夾刪除文件夾 Python文件夾處理 上一篇文章:Python文件處理下一篇文章:Python淺拷貝與深拷貝 1、創(chuàng)建文件夾 import os os.mk...
摘要:的在調(diào)查發(fā)現(xiàn)問題在于的性能缺陷后,我們決定嘗試解析器的性能,這是為我們的工具編寫的。這意味著即使忽略任何優(yōu)化,只是將解析器替換為解析器就可以緩解我們的性能瓶頸。 注: 轉(zhuǎn)自 微信公眾號高可用架構(gòu):從20秒到0.5秒:一個使用Rust語言來優(yōu)化Python性能的案例 導(dǎo)讀:Python 被很多互聯(lián)網(wǎng)系統(tǒng)廣泛使用,但在另外一方面,它也存在一些性能問題,不過 Sentry 工程師分享的在關(guān)...
摘要:關(guān)鍵字拼寫錯誤時會提示語法錯誤,而變量名函數(shù)名拼寫錯誤會在運行時給出的錯誤提示腳本程序不符合的語法規(guī)范例如如少了括號,冒號等符號,以及表達式書寫錯誤等。異常的處理異常是程序在運行過程中引發(fā)的錯誤。 異常是Python程序在運行過程中引發(fā)的錯誤,如果程序中引發(fā)了未進行處理的異常,程序就會由于異常而終止運行,只有為程序添加異常處理,才能使程序更健壯。 Python對異常的處理,有它自己的語...
閱讀 2672·2021-11-17 09:33
閱讀 4082·2021-10-19 11:46
閱讀 992·2021-10-14 09:42
閱讀 2329·2021-09-22 15:41
閱讀 4373·2021-09-22 15:20
閱讀 4759·2021-09-07 10:22
閱讀 2395·2021-09-04 16:40
閱讀 879·2019-08-30 15:52