python開啟檔案的方式有哪些

2022-10-04 14:06:18 字數 1604 閱讀 7715

python下開啟檔案超級簡單,不用匯入任何包,直接輸入

f = open('your_file.txt','r')

就可以開啟乙個檔案進行操作。第二個引數為對檔案的操作方式,'w'是寫檔案,已存在的同名檔案會被清空,不存在則會建立乙個;'r'是讀取檔案,不存在會報錯;'a'是在檔案尾部新增內容,不存在會建立檔案,存在則直接在尾部進行新增;還有'wb'是寫二進位制檔案;'rb'是讀取二進位製文程式設計客棧件,比如之類的。

但是這種方式其實不是最好的開啟檔案的方式,這種方式可能會有這樣幾個問題:

1、未指定檔案編碼格式,如果檔案編碼格式與當前預設的編碼格式不一致,那麼檔案內容的讀寫將出現錯誤。

2、如果讀寫檔案有錯誤,會導致檔案無法正確關閉。因為哪怕在後面有

f.close()

語句,但是如果在開啟的時候就出現錯誤,這種開啟方式會出現問題。因此,一般來說,不推薦這種開啟檔案的方式。(我之前其實一直使用這種方法,,雖然也知道其他的方法,但是嫌麻煩一直沒怎麼用…)

上面的這些問題都是針對python2的,在python3下open函式可以通過encoding引數指定編碼方式,而在2中不可以。

在python3下可以直接通過這樣來開啟乙個檔案:

f = open('your_file.txt', 'r'www.cppcns.com, encoding='utf-8')

下面的兩種方式在python2和python3下都可以使用,因此如果想要讓你的**在2和3下都相容的話可以嘗試下面的兩種方法:

import codecs

f1 = codecs.open('程式設計客棧your_file1.txt', 'r', 'utf-8') #使用codecs包

f1.close()

import io

f2 = io.open('your_file2.txt', 'r', encoding='ut程式設計客棧f-8') #使用io包

f2.close()

不知道有沒有細心的同學發現上面的開啟檔案的方式都有瑕疵,下面的方法則是用來解決剛才提到的第二個問題的,也是最推薦的一種開啟檔案的方式。

import codecs #或者io,使用哪種包無所謂

with codecs.open('your_file.txt', 'r', 'utf-8') as f:

f.write('this method is prior')

使用with這種上www.cppcns.com下文環境的方式開啟檔案,在對檔案操作完成後無需通過close()關閉檔案,檔案會自動關閉,而且安全係數更高。

知識點擴充套件:

python中type開啟檔案的方式

這幾天在看《利用python進行資料分析》,在第六章資料載入、儲存、與檔案格式中遇到個小問題。

在linux訪問檔案是用:!cat ch06/ex1.csv

在windows命令列中使用:!type ch06\ex1.csv

需要作說明的是:

1.windows與linux不同的是win用的「\」新增子目錄,而linux使用「/」新增;

2.win下也可以使用絕對路徑進行訪問,在所在目錄下安如圖操作方式進行複製,此時需加引號進行使用:!type 「c:\users\burette\pydata-book-master\ch06\ex1.csv"

python檔案開啟方式

r 唯讀 r 讀寫 兩種只能找檔案不能建立檔案 file line open users r content file line,read print content w 唯讀 w 讀寫 沒有該檔案可以建立檔案 str python file line open users w file line....

python開啟檔案方式

模式描述r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。r 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。rb 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。w開啟乙個檔案只用...

Python檔案開啟的幾種方式

python 全棧工程師核心面試 300 問深入解析 2020 版 全文預覽 python 全棧工程師核心面試 300 問深入解析 2020 版 歡迎訂閱 訪問模式 說明 r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。w 開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果...