一、讀取文本文件
首先,我們需要了解Python中如何讀取文本文件。Python提供了兩種讀取文本文件的方式:使用read函數一次性讀取整個文件或者使用readline函數逐行讀取文件。
read函數用法示例:
with open("file.txt", "r") as f: content = f.read() print(content)
readline函數用法示例:
with open("file.txt", "r") as f: line = f.readline() while line: print(line) line = f.readline()
除此之外,我們還可以使用迭代器來遍歷文件中的每一行:
with open("file.txt", "r") as f: for line in f: print(line)
二、讀取二進位文件
二進位文件讀取相對於文本文件讀取更為複雜,需要對位元組進行解析。
我們可以使用read函數來讀取二進位文件。一般來說,我們會讀取二進位文件的前幾個位元組,來判斷其文件類型以及其他一些相關信息。
示例代碼:
with open("file.bin", "rb") as f: header = f.read(8) # 對位元組進行解析操作 ... content = f.read()
三、寫入文件
Python不僅可以讀取文件,還可以寫入文件。我們可以使用write函數向文件寫入內容。
示例代碼:
with open("output.txt", "w") as f: f.write("hello world")
如果我們要向文件中寫入多行內容,可以使用writelines函數。
示例代碼:
lines = ["line1\n", "line2\n", "line3\n"] with open("output.txt", "w") as f: f.writelines(lines)
四、文件操作常用函數
除了read、readline、write、writelines函數之外,Python還提供了其他常用的文件操作函數。
1、seek函數:用於移動文件指針。可以指定移動的位元組數以及移動的起始位置。
示例代碼:
with open("file.txt", "rb") as f: f.seek(10) # 將文件指針移動到第10個位元組 bytes = f.read(8) # 讀取8個位元組
2、tell函數:用於獲取當前文件指針的位置。
示例代碼:
with open("file.txt", "rb") as f: f.seek(10) position = f.tell() # 獲取當前文件指針的位置
3、truncate函數:用於截取文件,可以刪除文件末尾多餘的內容。
示例代碼:
with open("file.txt", "r+") as f: f.seek(10) f.truncate() # 刪除文件末尾多餘的內容
五、總結
通過本文對Python讀取文件的全面解析,我們可以知道Python讀取文件相對來說還是比較簡單的。我們可以使用read、readline、write、writelines等常用函數來操作文件,同時也可以使用seek、tell、truncate等其他函數來進行更高階的文件操作。
最後,我們需要注意的是,在打開文件後,一定要及時關閉文件,否則可能會出現內存泄露等問題。我們可以使用with語句來代替顯式的文件關閉操作,例如:
with open("file.txt", "r") as f: content = f.read() # 文件會自動關閉
原創文章,作者:ZPDL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/149569.html