文件讀寫是我們最常見的一個需求,而且,更多的時候,我們是讀寫文本文本,直接讀寫二進位文件是很少見的。

今天,本文遵照以前的做法,拋開各種複雜的理論和API講解,直接按需求列方法。

一口氣讀取整個文件的內容

三行代碼搞定,只需要注意一點:不要讀取太大的文件,對於一般文件,都沒問題的。
按行遍歷讀取

需要注意的是,按行遍歷的時候,行尾帶的回車也會讀進來,所以使用print輸出的時候,每一行後面會有個空行,你可以根據需要使用rstrip函數給它刪除掉即可。

按行遍歷文件還有一種方法:

readlines讀取文件時自帶buffer,也就是緩存,效率還是很不錯的。讀取到的結果是一個列表,你可以隨時遍歷它。
總體上只需要注意一點:當文件特別大時,需要很長時間(這似乎是廢話)。
查找文件中的指定信息
這是我的一段測試文本,我把它放在了文件中:

現在,我要找「時間都去哪兒了」是否包含在這個文件中,如果有,返回行號。

上面的示例,有兩個地方要注意:
find函數對行號的計算是從0開始的,不是1文件中有中文的時候,記得編碼要一致,我們推薦在任何時候都使用UTF-8,避免各種坑

寫在最後
最後其實只需要注意一點:文件的關閉函數close(),在讀文件的時候,可以不用管,不關閉啥事兒也沒有,但是寫文件的時候最好關閉一下。因為凡事不怕一萬,就怕萬一,萬一你文件還沒寫入磁碟的時候程序異常了,豈不是悲劇?
學會其中的一項功能是很簡單的,想要成為Python高手,還需要各位不懈的努力,當然了,成為高手的感覺也是很不錯的,帥哥有人愛,美女有人追,很幸福的感覺有木有?