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 開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果...