今天小編要跟大家分享的文章是如何使用python讀寫文件?熟悉python的小伙伴們都知道python對文件的讀寫在程序開發中也是非常常見的操作,比如寫入一些簡單的系統日志、把爬蟲采集的數據寫入到本地文件等等,python入門新手和正在python學習的小伙伴快來看一看吧,希望能夠對大家有所幫助 !
今天我們就詳細說下怎么用 python去讀寫一個文件。
<img src="http://www.magedu.com/wp-content/uploads/2019/12/timg-4.jpg" alt="如何使用python讀寫文件?" class="wp-image-81545"/>
1、python 寫入文件
<img src="http://python.tedu.cn/upload/20190515/20190515105000_593.png" alt="零基礎Python教程"/>
open(‘xxx.txt’,’w’),’w’ 表示以寫的模式打開文件,在寫之前要先找到這個文件,如果文件不存在, python 則會先自動創建該文件,然后再寫入內容。
注意程序寫入的內容并不一定立刻就寫入硬盤了,往往是先寫入到內存中,然后再根據的系統的空閑時間慢慢從內存寫入硬盤中,等到調用 close 方法的時候才會確認把內存中剩下的數據寫入到硬盤。
所以一旦我們忘記主動調用 close 來關閉文件的話,或者在程序寫入文件的時候出現異常終止程序從而不會再繼續往下執行 close 方法,就可能導致部分數據丟失,為了避免這種情況,我們推薦使用 with 這種方式來打開文件,使用 with 即不管是程序在完成對文件寫入操作之后還是程序寫入文件異常終止都會自動調用 close 方法來關閉文件
<img src="http://python.tedu.cn/upload/20190515/20190515105103_772.png" alt="零基礎python教程"/>
如果重復對一個文件寫入內容,會不會對已經存在的內容有影響呢,答案是會的。
python 的文件寫模式分覆蓋寫和追加寫。剛剛上面提到的 ‘w’ 模式就是覆蓋寫,即每次以 ‘w’ 模式打開文件都會先直接清空該文件,注意是只要一打開就會先清空即使你不寫入任何內容。還有一種就是使用 ‘a’ 追加模式,這種模式不會清空文件中原有的內容,只會在原有內容后面繼續追加新的內容。
2、python 讀文件
<img src="http://python.tedu.cn/upload/20190515/20190515105210_966.png" alt="零基礎Python教程"/>
讀文件和寫文件類似,只不過是以讀的模式打開文件,open(‘xxx.txt’,’r’),’r’ 表示以只讀模式打開文件,讀模式打開文件需要確認文件已經存在,如果文件不存在程序會報找不到文件的錯誤。
如果文件打開成功,接下來會調用 read 方法來一次性把文件的所有內容讀到內存當中,最后再需要調用 close 來關閉文件。文件的讀寫操作完成之后都需要關閉文件,不然一直打開的文件會占用系統資源。
同樣的,由于文件的讀寫過程中可能會出現異常,導致不能執行后面的 close 方法來關閉文件,所以跟上面提到的文件的寫入一樣,我們也推薦使用 with 來打開文件,總之,對于文件的讀寫操作,都推薦使用 with 方式來打開。
<img src="http://python.tedu.cn/upload/20190515/20190515105250_930.png" alt="零基礎Python教程"/>
如果一個文件很大,有幾十個 G ,那么把所有的內容一次性讀到內存中肯定不現實,這時候我們可以循環讀文件,每次只讀指定大小的內容,read(size) 表示只讀取 size 字節的數據。
<img src="http://python.tedu.cn/upload/20190515/20190515105400_549.png" alt="零基礎python教程"/>
也有的文件內容是按行寫入的,比如常見的 config 配置文件,我們還可以使用 readline() 可以按行來讀取內容,也可以把文件所有內容先按行讀取最后放到一個數組 list 中返回。
<img src="http://python.tedu.cn/upload/20190515/20190515105447_43.png" alt="零基礎python教程"/>
實際上不同的文件會有不同的編碼格式,上面我們講的都是基于 utf-8 編碼格式的文件,如果要打開非 utf-8 的文件,還需要使用 open(‘xxx.txt’,’r’,encoding=’gbk’) 這種方式來指定文件的編碼。
3、二進制文件讀寫
我們上面講的都是默認的文本文件,還有常見的圖片、音視頻等二進制文件怎么用 python 讀寫呢,其實只需要使用 ‘rb’ 和 ‘wb’ 這兩種模式就可以對二進制文件進行讀寫了。
<img src="http://python.tedu.cn/upload/20190515/20190515105528_825.png" alt="零基礎Python教程"/>
以上就是小編今天為大家分享的關于如何使用python讀寫文件的文章,希望本篇文章能夠對正在python學習和從事python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網。最后祝愿小伙伴們工作順利!
免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。