一、Python文件對象
在Python中,文件都是以文本或二進位形式進行操作的。要對一個文件進行操作,首先要用Python內置的open()函數創建一個文件對象。open()函數的基本語法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
參數說明:
- file: 字元串,表示要打開的文件路徑
- mode: 可選,表示打開文件的模式,默認是’r’,即讀取模式。其他常用的模式有:’w’,即寫入模式;’a’,即追加模式;’b’,即二進位模式,用於讀取或寫入二進位文件;’t’,即文本模式。同時打開文本和二進位模式時,需要使用’+’(例如’r+’)。
- buffering: 可選,設置緩衝區大小。如果為0,表示不使用緩衝(只在二進位模式下有效)。
- encoding: 可選,表示文件編碼格式。
- errors: 可選,表示編碼錯誤處理方式。
- newline: 可選,表示文本模式下一行結束符的處理。
- closefd: 可選,表示是否在文件關閉時同時關閉文件描述符。
- opener: 可選,用於創建自定義的開啟器。
例如,使用下面的代碼打開一個文件:
file = open("example.txt")
打開文件後,可以使用文件對象進行讀寫操作。例如:
f = open("example.txt")
print(f.read())
f.close()
上述代碼中,使用read()方法讀取文件中的全部內容,並將內容輸出。最後,記得要關閉文件。
二、文件讀取操作
1. 讀取整個文件
使用read()方法可以一次性讀取整個文件的內容到一個字元串中:
f = open("example.txt")
str = f.read()
print(str)
f.close()
2. 讀取行
使用readline()方法可以一次讀取一行內容:
f = open("example.txt")
str = f.readline()
print(str)
f.close()
readline()每次只讀取一行,多次調用可以依次讀取每一行的內容。
3. 讀取所有行
可以使用readlines()方法將整個文件讀取到一個列表中:
f = open("example.txt")
lines = f.readlines()
for line in lines:
print(line)
f.close()
上述代碼中,通過readlines()方法將整個文件讀取到一個列表lines中,然後使用for循環遍歷列表並輸出每一行的內容。
三、文件寫入操作
要向文件寫入內容,需要使用write()方法。例如,將一個字元串寫入文件:
f = open("example.txt", "w")
f.write("Hello World!")
f.close()
如果要向文件中寫入多行內容,可以使用writelines()方法。例如:
lines = ["line 1\n", "line 2\n", "line 3\n"]
f = open("example.txt", "w")
f.writelines(lines)
f.close()
上述代碼中,writelines()方法接受一個包含多行內容的列表作為參數,將其寫入到文件中。
四、文件關閉操作
在文件操作完畢後,一定要記得關閉文件。可以使用close()方法來關閉一個文件:
f = open("example.txt")
# 文件操作
f.close()
也可以使用with語句來自動關閉文件:
with open("example.txt") as f:
# 文件操作
使用with語句打開文件後,在with語句的作用域結束後,文件會自動關閉,無需手動調用close()方法。
五、總結
Python的文件操作非常簡單靈活,可以通過open()函數創建文件對象,然後使用該對象進行讀寫操作。在使用完文件後,一定要記得關閉文件,以免出現文件句柄泄漏等問題。
原創文章,作者:DSZK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135515.html