EN LAS 交貨 在本Python程式設計課程(使用Linux)的前幾堂課中,我們看到資料可以從清單、元組和字典中輸入,也可以讓使用者手動輸入。 現在我們將學習如何讀取或保存檔案。
透過匯入必要的模組,Python 可以讀取、建立和寫入各種文件格式,包括最受歡迎的辦公室套件格式和 PDF 文件;然而 本文暫時仍將使用文字檔。
使用 Linux 的 Python 程式設計課程。第十四部分
純文字檔案是儲存資料最基本的方式。s. 這些檔案由字母、數字、符號和空格組成,以行的形式存儲,沒有任何格式。這種類型的檔案通常使用 Gedit、Kate 或 Windows 記事本等程式建立。
與大多數程式和程式語言相容 純文字格式用於儲存簡單的訊息,例如設定、活動日誌、清單或程式執行結果。
Python 安裝後就包含了處理文字檔案的基本命令,包括開啟、讀取、寫入和關閉文字檔案。
open() 函數
此函數需要兩個參數:檔案名稱和以下選項之一:
- r: 讀取現有文件。
- w檢查文件是否存在,如果不存在則建立該文件,如果存在則覆蓋其內容。
- r+: 它結合了檔案的讀取和寫入操作。
- a: 請在文件內容下方填寫。
例如,這條指令:
archivo = open("archivo.txt", "r")
- 打開文件並閱讀其內容。
- 該變數儲存的是 open 函數在開啟檔案時所建立的物件。
透過此程序,我們可以打開文件,讀取並列印其內容,然後關閉文件。
archivo = open("archivo.txt", "r")
contenido = archivo.read()
print(contenido)
archivo.close()
這個程序
- 以讀取模式開啟文件,並將物件賦值給文件變數。
- 指派給檔案物件變數的 read 方法使用 read 方法讀取內容並將其指派給 content 變數。
- 列印儲存在 content 變數中的內容。
- 關閉文件。
現在我們來看另一種讀取文件內容的方法;
在這種情況下,我們使用另一種名為 readlines 的方法。
- 程式以讀取模式開啟文件,建立對象,並將其賦值給文件變數。
- 函數 file.readlines 建立一個包含文字檔案所有行的列表,並將其賦值給變數 lines。
- 循環逐行列印詳細資料。由於純文字編輯器包含一個用於指示換行符的特殊字符,因此 strip 方法會從列印輸出中刪除該字元。
- 文件已關閉。
我們可以用這樣的程式寫入檔案。
archivo = open("archivo.txt", "w")
archivo.write("Hola, estamos escribiendo un archivo.\n")
archivo.write("usando un programa en Python.")
archivo.close()
- 程式開啟一個文件,如果文件不存在則創建它,創建一個物件並將其賦值給文件變數。
- 將寫入方法加入到檔案變數中,寫入第一行。 \n 表示應該換行。
- 寫出第二行。
- 關閉文件。
另一種寫入檔案的方法:
archivo = open("archivo.txt", "a")
archivo.write("Voy a agregar una línea más.")
archivo.close()
程式使用參數「a」開啟文件,表示該文字應包含在目前文字之後。
我們來看一個綜合的例子:
該程式執行以下操作:
- 建立一個名為 distributions.txt 的文件,並賦予其寫入權限,建立一個 Python 對象,並將其賦值給變數 file。
- 在文件中寫入三個發行版的名稱,並在後面換行,以便按列排序。
- 關閉文件。
- 以讀取模式開啟文件,建立 Python 要操作的對象,並將其賦值給檔案變數。
- 螢幕上會顯示一則訊息,表示將顯示文件內容。
- 開始循環,逐行讀取文件內容。
- 逐行列印,省略換行符。
- 關閉文件。
錯誤處理
通常情況下,由於程式碼或使用者錯誤,可能會出現程式無法繼續運行的情況。 Python 通常會停止執行並顯示錯誤訊息。但是,我們可以採取一些措施來避免這種情況。 這叫做異常處理。
Python 提供了一種處理問題(或異常情況)的機制,稱為 try-except 程式碼區塊。`try` 程式碼區塊包含 Python 指派給錯誤處理的程式碼,而 `except` 程式碼區塊包含用於回應該錯誤的程式碼。例如,嘗試開啟一個不存在的文件,或寫入一個程式沒有足夠權限的文件,都屬於錯誤。
- 我們用 try 指令開始 Python 應該執行的程式碼區塊。
- 我們以讀取模式開啟檔案(假設它存在)。
- 我們將檔案內容賦值給變數 content。
- 我們列印標題“文件內容”
- 我們列印這些內容。
- 我們關閉了文件。
- 如果程式找不到該文件,它會顯示兩個訊息,分別指示該文件不存在,並提示我們檢查文件名稱。
最常見的錯誤類型:
- ValueError: 試圖在操作或函數中使用無效值。
- 類型錯誤: 有人試圖在操作或函數中使用無效的資料類型。
- IndexError: 你想要存取清單或元組中不存在的索引。
- 按鍵錯誤正在嘗試存取字典中不存在的鍵。
- 文件未找到錯誤正在嘗試存取一個不存在的檔案。
- 零除法錯誤: 嘗試將一個數除以零。
- 屬性錯誤: 嘗試存取物件中不存在的屬性。
- 導入錯誤當您嘗試匯入不存在的模組或匯入過程中發生錯誤時,就會發生這種情況。
在後續文章中,我們將繼續探討這個課程。