您好,登錄后才能下訂單哦!
這篇文章主要介紹“python如何讀取文件”,在日常操作中,相信很多人在python如何讀取文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python如何讀取文件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
打開文件對象
使用 open()
函數打開文件對象。必須指定文件路徑。可以使用相對路徑,也可以使用絕對路徑。可以選擇傳入文件讀寫方式,默認為只讀方式。可以傳入文件編碼方式,默認為 gbk 。
f =open('Zen.txt', 'r', encoding="utf-8")
#使用讀模式打開一個文件對象,傳入參數為文件相對位置和讀寫模式,編碼格式為utf-8
常用標識符如下:
r | 以只讀方式打開文件,從文件開頭開始讀取,沒有文件會報錯。 |
w | 以只寫方式打開文件,如果沒有文件則新建一個文件,如果有文件則從頭開始寫這個文件。 |
a | 以追加方式打開文件,如果沒有文件則新建一個文件,如果有文件則從文檔末尾開始寫這個文件。 |
a+ | 可讀寫模式,寫只能寫在文件末尾。 |
w+ | 可讀寫,與a+的區別是要清空文件內容。 |
r+ | 可讀寫,與a+的區別是可以寫到文件任何位置。 |
讀取文件內容
讀取文件內容可以用 read()
的一系列函數進行讀取,詳見代碼(需要文件讀寫模式中可讀,即只寫方式不能讀取文件)。
f =open('Zen.txt', 'r', encoding="utf-8")
#使用只讀模式打開文件對象,文件編碼格式為utf-8
f.read()
#一次將文本讀取完畢,文件過大時容易溢出,可以指定文件大小
f.readline()
#一次讀取一行文本數據,讀取速度較慢
f.readlines()
#一次將文本讀取完畢并按列生成字符串列表
寫入文件內容
寫入文件內容可以用 write()
的一系列函數進行寫入,詳見代碼(需要文件模式中可寫,即只讀方式不能寫入文件)。
f =open('Zen.txt', 'w', encoding="utf-8")
#使用只寫模式打開文件對象,文件編碼格式為utf-8
str = "The Zen of Python, by Tim Peters"
seq = {'Beautiful is better than ugly.','Explicit is better than implicit.','Simple is better than complex.'}
f.write(str)
#write()的參數是一個字符串,就是你要寫入文件的內容.
f.writelines(seq)
#writelines()的參數是序列,比如列表,它會迭代幫你寫入文件。
關閉文件
文件使用完后必須關閉,因為文件對象會占用系統資源,使用 close()
方法可以關閉文件。
f =open('Zen.txt', 'w', encoding="utf-8")
#使用只寫模式打開文件對象,文件編碼格式為utf-8
str = "The Zen of Python, by Tim Peters"
seq = {'Beautiful is better than ugly.','Explicit is better than implicit.','Simple is better than complex.'}
f.write(str)
#write()的參數是一個字符串,就是你要寫入文件的內容.
f.writelines(seq)
#writelines()的參數是序列,比如列表,它會迭代幫你寫入文件。
f.close()
使用try -catch抓取IOError
由于文件讀寫時都有可能產生 IOError,一旦出錯,后面的 f.close()
就不會調用。所以,為了保證無論是否出錯都能正確地關閉文件,我們可以使用try -catch-finally
來實現。
try:
f = open('zen.txt', 'r',encoding="utf-8")
print(f.read())
finally:
#當讀寫產生IOError時,使用finally將文件關閉
if f:
f.close()
使用 with 語句
使用 with
語句可以幫我們調用 close()
方法,這樣就不用寫 try-catch-finally
語句了。
到此,關于“python如何讀取文件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。