簡單介紹python程式設計之檔案讀寫
導讀 | 函式 open() 返回 檔案物件,通常的用法需要兩個引數: open(filename, mode) 。 |
f = open('workfile', 'w')
第一個引數是一個含有檔名的字串。第二個引數也是一個字串,含有描述如何使用該檔案的幾個字元。mode 為 'r' 時表示只是讀取檔案; 'w' 表示只是寫入檔案(已經存在的同名檔案將被 刪掉); 'a' 表示開啟檔案進行追加,寫入到檔案中的任何資料將自動新增到末尾。 'r+' 表示打 開檔案進行讀取和寫入。mode 引數是可選的,預設為 'r' 。
通常,檔案以 文字 開啟,這意味著,你從檔案讀出和向檔案寫入的字串會被特定的編碼方式(預設是UTF-8)編碼。模式後面的 'b' 以 二進位制模式 開啟檔案:資料會以位元組物件的形式讀出和寫入。這種模式應該用於所有不包含文字的檔案。在文字模式下,讀取時預設會將平臺有關的行結束符(Unix上是 \n , Windows上是 \r\n )轉換為\n 。
在文字模式下寫入時,預設會將出現的 \n 轉換成平臺有關的行結束符。這種暗地裡的修改對 ASCII 文字檔案沒有問題,但會損壞 JPEG 或 EXE 這樣的二進位制檔案中的資料。使用二進位制模式讀寫此類檔案時要特別小心。
本節中的示例都預設檔案物件 f 已經建立。要讀取檔案內容,需要呼叫 f.read(size) ,該方法讀取若干數量的資料並以字串形式返回其內 容,size 是可選的數值,指定字串長度。如果沒有指定 size 或者指定為負數,就會讀取並返回整 個檔案。當檔案大小為當前機器記憶體兩倍時,就會產生問題。反之,會盡可能按比較大的 size 讀取 和返回資料。如果到了檔案末尾, f.read() 會返回一個空字串( '' ):
>>> f.read() 'This is the entire file.\n' >>> f.read() ''
f.readline() 從檔案中讀取單獨一行,字串結尾會自動加上一個換行符( \n ),只有當檔案最後一行沒有以換行符結尾時,這一操作才會被忽略。這樣返回值就不會有混淆,如果 f.readline() 返回一個空字串,那就表示到達了檔案末尾,如果是一個空行,就會描述為 '\n' ,一個只包含 換行符的字串:
>>> f.readline() 'This is the first line of the file.\n' >>> f.readline() 'Second line of the file\n' >>> f.readline() ''
你可以迴圈遍歷檔案物件來讀取檔案中的每一行。這是一種記憶體高效、快速,並且程式碼簡介的方式:
>>> for line in f: ... print(line, end='') ... This is the first line of the file. Second line of the file
如果你想把檔案中的所有行讀到一個列表中,你也可以使用 list(f) 或者 f.readlines() 。f.write(string) 方法將 string 的內容寫入檔案,並返回寫入字元的長度:
>>> f.write('This is a test\n') 15
想要寫入其他非字串內容,首先要將它轉換為字串:
>>> value = ('the answer', 42) >>> s = str(value) >>> f.write(s) 18
f.tell() 返回一個整數,代表檔案物件在檔案中的指標位置,該數值計量了自檔案開頭到指標處的位元數。需要改變檔案物件指標話話,使用 f.seek(offset,from_what) 。指標在該操作中從指定的引用位置移動 offset 位元,引用位置由 from_what 引數指定。 from_what 值為 0 表示自檔案起始處開始,1 表示自當前檔案指標位置開始,2 表示自檔案末尾開始。from_what 可以忽略,其預設值為零,此時從檔案頭開始:
>>> f = open('workfile', 'rb+') >>> f.write(b'0123456789abcdef') 16 >>> f.seek(5) # Go to the 6th byte in the file 5 >>> f.read(1) b'5' >>> f.seek(-3, 2) # Go to the 3rd byte before the end 13 >>> f.read(1) b'd'
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2851361/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python讀寫excel檔案簡單應用PythonExcel
- 檔案管理簡單介紹
- linux讀寫檔案 簡單版Linux
- 簡單介紹python如何在檔案中部插入資訊Python
- Python(簡單圖形和檔案處理)程式設計Python程式設計
- 程式設計讀寫CAD檔案驗證程式設計
- Python簡單介紹Python
- Python 簡明教程 --- 24,Python 檔案讀寫Python
- Python之檔案讀寫小練Python
- python學習之讀寫檔案Python
- 01 Python3程式設計之程式設計語法簡介Python程式設計
- 002 Rust 非同步程式設計,async await 簡單介紹Rust非同步程式設計AI
- 簡單介紹Linux環境變數檔案Linux變數
- Python 讀寫檔案Python
- Python——檔案讀寫Python
- 「Python」:檔案讀寫Python
- Python多工程式設計介紹Python程式設計
- 教你如何運用python實現簡單檔案讀寫函式Python函式
- 簡單介紹Shell指令碼之檔案批次建立與修改的方法指令碼
- python讀取docx檔案,就是如此簡單Python
- 簡單介紹一下 Linux 檔案系統?Linux
- Python 檔案讀寫(Python IO)Python
- Linux系統程式設計之程式介紹Linux程式設計
- python讀寫excel檔案PythonExcel
- python檔案讀寫操作Python
- Qt 程式設計 —— 專案工程檔案(.pro)介紹 【學習筆記】QT程式設計筆記
- 好程式設計師web前端培訓分享FormData 簡單介紹程式設計師Web前端ORM
- 簡單介紹架構設計的原則!架構
- 簡單介紹nacos單機本地配置檔案儲存位置方式
- 簡單介紹python process模組Python
- Rust 程式設計,讀取檔案Rust程式設計
- 簡單介紹python在CMD介面讀取excel所有資料PythonExcel
- Python 高階程式設計:深入解析 CSV 檔案讀取Python程式設計
- Python中的檔案讀寫Python
- groovy 程式語言簡單介紹
- Python:讀寫檔案(I/O) | 組織檔案Python
- NIO程式設計介紹程式設計
- 簡單介紹 Vue 3.0 專案建立Vue