Python open()函数用法详解
生活随笔
收集整理的這篇文章主要介紹了
Python open()函数用法详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、文件操作的流程:
具體步驟如下:
二、open()函數的具體用法:
open函數最常用的使用方法如下:文件句柄 = open(‘文件路徑’, ‘模式’,編碼方式)。
1、關于文件路徑
#文件路徑:主要有兩種,一種是使用相對路徑,想上面的例子就是使用相對路徑。 #另外一種就是絕對路徑,像' C:/Users/shu/Desktop/python/test.txt'2、關于打開模式:
# r 以只讀方式打開文件。這是默認模式。文件必須存在,不存在拋出錯誤 #rb 以二進制格式打開一個文件用于只讀。 #r+ 打開一個文件用于讀寫。文件指針將會放在文件的開頭。讀完就追加。 #w 打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。 #w+ 打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。 #a 打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。 #a+ 打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。注:后面有帶b的方式,不需要考慮編碼方式。有帶+號的,則可讀可寫,不過它們之間還是有區別的下面附上各種方法的代碼,便于更深刻理解各種模式:
原來文件內容是:
自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.
1.只讀模式r:
f=open('test.txt','r') data=f.read() print(data) #自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿. f.close()2.只寫模式,w (存在會覆蓋原來內容)
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' f=open('test.txt','w') f.write('作者:倉央嘉措') f.close() #寫完后原來的內容全都不見了,只剩下'作者:倉央嘉措'.3、追加模式,a
f=open('test.txt','a') f.write('作者:倉央嘉措') f.close() #寫完內容如下:自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.作者:倉央嘉措4、以r+模式打開
f=open('test.txt','r+') f.write('作者:倉央嘉措') print(f.read()) # 輸出為" ,入山又怕誤傾城.世間安得雙全法,不負如來不負卿." f.close() #寫完內容為 “ 作者:倉央嘉措,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.” #為什么輸出和寫完內容會這樣呢? 解釋這個只要知道緊跟光標的位置就可以明白了。首先,以r方式打開光標都會在最開始的位置,這時候執行f.write(‘作者:倉央嘉措’) ,這時候就把原來的‘自恐多情損梵行’覆蓋了。
這時候光標移動到’,'之前,緊接著進行print(f.read())。就會把后面剩下的文本內容打印出來。所以輸出就是:" ,入山又怕誤傾城.世間安得雙全法,不負如來不負卿." 整個程序完成后,整個文本內容就成了;“ 作者:倉央嘉措,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.”(光標!!)
3、關于編碼方式:
- win系統默認是gbk編碼的,所以桌面生成的TXT之類的都是gbk編碼的。
- 出現亂碼正常都是原文件的編碼方式和打開指定的編碼不一致所致
三、關閉文件:
不要小看這一步,因為我們讀取文件是把文科讀取到內存中的,如果我們沒關閉它,它就會一直占用系統資源,而且還可能導致其他不安全隱患。還有一種方法可以讓我們不用去特意關注關閉文件。那就是 with open()
with open('test.txt','a+') as f:f.write('作者:倉央嘉措')print(f.read())總結
以上是生活随笔為你收集整理的Python open()函数用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python for循环本质
- 下一篇: python max和min函数的高级用