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