Python文件讀寫操作:簡單又高效地操作文件

在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-hant/n/131639.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RTSG的頭像RTSG
上一篇 2024-10-03 23:46
下一篇 2024-10-03 23:46

相關推薦

發表回復

登錄後才能評論