在Python編程中,文件讀寫操作是必不可少的一部分。通過文件讀寫,可以在Python程序中讀取外部文件的數據,或將生成的數據寫入到外部文件中。Python提供了強大的文件讀寫操作功能,能夠實現各種高效的文件處理需求。本文將介紹Python文件讀寫的詳細步驟以及注意事項。
一、打開和關閉文件
在Python中,要進行文件讀寫,首先需要打開文件。我們可以使用Python內置的open()函數來打開一個文件,並得到一個文件對象file_object
,其語法如下:
file_object = open(file_name [, access_mode][, buffering])
其中file_name
是文件的名稱和路徑,access_mode
指定文件打開模式(可選參數,默認為r
),buffering
指定緩衝區大小(可選參數,默認值為-1
,表示使用系統默認值)。打開文件之後,操作完成後需要關閉文件,以釋放資源。我們可以使用文件對象的close()
方法來關閉文件,其語法如下:
file_object.close()
為了保證文件在操作過程中的正確性,應當養成在每次文件操作完成後關閉文件的好習慣。
二、讀取文件
Python提供了多種讀取文件的方法,下面分別介紹。
1. 讀取整個文件內容
我們可以使用文件對象的read()
方法來讀取整個文件內容。其語法如下:
file_object.read([size])
其中size
是可選參數,指定要讀取的位元組數。如果不指定size
,則會讀取文件所有數據。
示例代碼:
filename = 'test.txt'
# 打開文件
fo = open(filename, "r")
str = fo.read()
print ("文件名為: ", filename)
print (str)
# 關閉文件
fo.close()
2. 逐行讀取文件內容
我們可以使用文件對象的readline()
方法來逐行讀取文件內容。其語法如下:
file_object.readline([size])
其中size
是可選參數,指定要讀取的位元組數。如果不指定size
,則會讀取一行數據。
示例代碼:
filename = 'test.txt'
# 打開文件
fo = open(filename, "r")
line = fo.readline()
while line:
print ("讀取的數據為: %s" % (line))
line = fo.readline()
# 關閉文件
fo.close()
3. 讀取文件所有行
我們可以使用文件對象的readlines()
方法來讀取文件所有行。其語法如下:
file_object.readlines()
該方法將文件的各行數據讀取到一個列表中返回。
示例代碼:
filename = 'test.txt'
# 打開文件
fo = open(filename, "r")
lines = fo.readlines()
print ("讀取到的所有行數據為: ")
for line in lines:
print (line)
# 關閉文件
fo.close()
三、寫入文件
Python提供了多種寫入文件的方法,下面分別介紹。
1. 寫入文件指定字符串
我們可以使用文件對象的write()
方法來寫入指定字符串到文件中。其語法如下:
file_object.write(str)
其中str
為要寫入的字符串。如果文件不存在,則寫入的同時會自動生成文件。
示例代碼:
filename = 'test.txt'
# 打開文件
fo = open(filename, "w")
str = "Python 文件讀寫操作。\n"
fo.write(str)
# 關閉文件
fo.close()
2. 在文件指定位置寫入字符串
我們可以使用文件對象的seek()
方法和tell()
方法來定位文件指針的位置,並使用write()
方法來在指定位置寫入字符串。定位文件指針位置的方法:
seek(offset[, whence])
:將文件指針移動到指定的偏移量offset
處。其中whence
表示偏移量的參考位置,其取值範圍為0(文件開頭)、1(當前位置)、2(文件結尾),默認為0。tell()
:返回當前文件指針的位置。
示例代碼:
filename = 'test.txt'
# 打開文件
fo = open(filename, "r+")
str1 = fo.read()
print ("原始數據為 : ", str1)
# 將文件指針移動到文件頭
fo.seek(0, 0)
str2 = "Python File Write Operation!"
fo.write(str2)
# 將文件指針移動到文件頭
fo.seek(0, 0)
str3 = fo.read()
print ("修改後的數據為 : ", str3)
# 關閉文件
fo.close()
3. 追加到文件
我們可以使用文件對象的write()
方法以及指定打開文件的模式為a
,來將字符串追加到文件末尾。其語法如下:
file_object = open(file_name, 'a')
file_object.write(str)
其中file_name
為文件名,str
為要追加的字符串。
示例代碼:
filename = 'test.txt'
# 打開文件
fo = open(filename, "a")
str = " 記得要將文件關閉!!!\n"
fo.write(str)
# 關閉文件
fo.close()
四、總結
本文介紹了Python文件讀寫操作的詳細步驟以及注意事項。在讀取文件時,可以使用read()
、readline()
和readlines()
等方法逐一讀取文件內容。在寫入文件時,可以使用write()
方法將指定的字符串寫入文件中,也可以使用seek()
、tell()
方法定位文件指針的位置並進行文件寫入操作。
為了保證操作的正確性,在每次文件操作完成後,應當養成關閉文件的好習慣,釋放文件資源。
原創文章,作者:RTSG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/131639.html