python变量使用前必须先声明、并且一旦声明_初学者学习Python的30天-第18天-文件处理...
前文
最近不是出了一個30天的Python教程,有很多人私信我說沒有資料怎么跟著學習,現在他來了https://www.bilibili.com/read/cv9383238
今天,我探討了如何使用Python處理文件并與文件進行通信。這些天來,我一直在探索和分享各種Python概念以及一些使用Python編程的最佳實踐。但是,我們尚未在Python之外與外界進行交互。我們的程序經常出于各種原因需要與外部世界進行通信,例如從excel,CSV或pdf文件中讀取數據,轉換和壓縮圖像,從文本文件中提取數據,從數據庫中讀取數據以及無數其他內容。與外部世界的交互是通過I / O或輸入輸出操作完成的。
文件可幫助我們將數據永久存儲到系統中。當我們編寫任何程序來管理某些數據時,數據會臨時存儲在計算機的RAM中,并且在計算機關閉時會被擦除。要永久存儲數據,需要將它們存儲在某種數據庫或某些文件系統中,以便以后使用時可以對其進行訪問。
可以根據文件的內容將文件大致分為以下兩種類型:二進制(也稱為富文本)
文本
Python提供了一個內置函數open來打開任何文件。首先需要打開任何文件才能從文件中讀取數據或向其中寫入一些數據。在Python中,從文件讀取數據很簡單。
我使用REPL作為游樂場來嘗試本文提供的所有代碼塊。
開啟檔案
我創建了一個test.txt包含一些虛擬內容的文件以進行測試。
test.txt
現在可以像這樣使用Python讀取此文件的內容。
main.py
我們還可以在open函數中打開文件時指定模式。默認情況下,該模式為“ r”或讀取模式。我們還可以指定是否需要以文本或二進制模式打開文件。
我們還可以在打開文件時指定編碼格式。默認格式為utf-8
關閉檔案
對文件執行操作后關閉文件非常重要,因為它將釋放與文件關聯的內存空間。
main.py
上面的塊可以放在try-except finally塊內。這樣可以確保在執行操作時如果出現任何錯誤,文件將被關閉。
main.py
Python提供了更好的語法,可以使用該with語句在文件上打開執行操作。一旦執行該操作,它將自動關閉文件。
main.py
寫入文件
Python提供write了將數據寫入文件的方法。需要使用w模式打開文件以寫入文件。要注意的是,使用該w模式會覆蓋文件的內容。如果需要附加內容,則a可以使用該模式。如果文件不存在,則在向其寫入數據之前創建文件。
main.py
main.py
另一種寫writelines方法是使用方法。可以提供項目列表。
main.py
從文件讀取
Python提供了許多從文件讀取的方法。需要使用“ r”模式打開文件。如果我們必須一起執行讀寫操作,那么它也是一種“ r +”模式。該read方法接受一個size參數,該參數基本上是它將要讀取的字符計數。如果未提供大小,則它將讀取整個文件。
main.py
有一種tell方法可以提供當前正在讀取的文件中的光標所在的位置。
該seek方法用于將光標移到文件中的特定位置。
main.py
另外,Python提供了另外兩種方法,readline并且readlines.
readline?讀取文件,直到到達換行符(\ n)。
readlines?返回行列表
Python文件方法
這是Python中可用的文件方法的完整列表
實踐
我們嘗試構建一個翻譯程序,該程序可以讀取英語內容的文件,并使用其他語言創建該文件的新翻譯版本。
在本練習中,我們將使用來自PyPI的外部Python包Translate。借助此軟件包,我們可以進行離線翻譯!
首先,需要安裝此軟件包。由于我正在使用REPL,因此將其添加到REPL的“包”部分。pip如果使用本地項目,則可以在終端中使用進行安裝。
將創建一個名為的文件quote.txt,并用鼓舞人心的報價填充它:
quote.txt
現在讓我們生成此報價的兩個翻譯版本。一個以西班牙語命名quote-es.txt,帶有文件名,另一個以法語命名,帶有文件名quote-fr.txt
main.py
這將生成兩個翻譯后的文件,報價自動翻譯。
內置模塊處理文件
Python提供了一個內置模塊,作為其標準庫(稱為)的一部分pathlib。它提供了各種方便的類,這些類使用適合不同操作系統的語義來表示文件系統路徑。v3.4中引入了此模塊。處理大量目錄時使用此軟件包是有益的。
pathlib在將來的幾天中,在構建項目時將明確使用模塊。
我是不吐不快的編程君
關注我,帶你走進編程的世界
有任何不懂問題可以私信我
總結
以上是生活随笔為你收集整理的python变量使用前必须先声明、并且一旦声明_初学者学习Python的30天-第18天-文件处理...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘满了怎么办 U盘存储已满,应该怎么办
- 下一篇: mysql shell eof_shel