一、open()函數(shù)簡(jiǎn)介
在Python中,open()函數(shù)常被用來操作文件。這個(gè)函數(shù)返回一個(gè)文件對(duì)象,可以在文件中進(jìn)行讀、寫操作。例如,可以使用open()函數(shù)來打開一個(gè)文件,并將其內(nèi)容讀入內(nèi)存,用于進(jìn)一步的處理。
使用open()函數(shù)時(shí),需要指定文件的名稱和打開方式。文件名可以是絕對(duì)路徑或相對(duì)路徑,打開方式可以是讀取(r)、寫入(w)、追加(a)等。例如,如果要讀取在當(dāng)前工作目錄下的一個(gè)文件,可以這樣寫:
f = open("example.txt","r")
這樣代碼打開了名為example.txt的文本文件,使用的是讀取(r)模式。如果要使用寫入(w)模式打開文件,可以這樣寫:
f = open("example.txt","w")
這樣的代碼打開了example.txt文件,并使用了寫模式。如果該文件不存在,則會(huì)創(chuàng)建該文件。如果該文件已存在,其原始內(nèi)容將被清除。
二、讀取文本文件內(nèi)容
在Python中,可以使用open()函數(shù)來讀取文本文件的內(nèi)容。當(dāng)使用讀取模式時(shí),文件中的每一行都將被讀取到一個(gè)字符串中。如果想要逐行讀取文件,可以使用Python的迭代器。
1、逐行讀取文本文件內(nèi)容
with open("example.txt","r") as f:
for line in f:
print(line)
Python的with語(yǔ)句可以很好地管理文件對(duì)象。將文件對(duì)象命名為f,并在with語(yǔ)句中使用它,with語(yǔ)句將自動(dòng)關(guān)閉文件。
2、讀取整個(gè)文本文件內(nèi)容
with open("example.txt","r") as f:
data = f.read()
print(data)
使用read()方法可以將整個(gè)文件讀取為一個(gè)字符串。如果文件太大,內(nèi)存不足以容納整個(gè)文件,就需要使用逐行讀取文件的方法。
三、寫入文本文件內(nèi)容
open()函數(shù)的第二個(gè)參數(shù)指定打開文件的模式,是“r”表示讀取(默認(rèn)模式),是“w”表示寫入(覆蓋原有內(nèi)容,沒有則創(chuàng)建新文件),是“a”表示追加(將內(nèi)容添加到現(xiàn)有文件末尾)。
1、寫入單行內(nèi)容
with open('example.txt', 'w') as f:
f.write('hello, world')
代碼中,將“hello, world”寫入到文件example.txt中,使用了寫入(w)模式。這將覆蓋整個(gè)文件內(nèi)容,創(chuàng)建一個(gè)新文件。
2、寫入多行內(nèi)容
with open('example.txt', 'w') as f:
lines_of_text = ['a line of text', 'another line of text', 'a third line']
f.write('\n'.join(lines_of_text))
代碼中,將多行文本寫入到同一個(gè)文件中。使用列表指定要寫入的行,并使用join()函數(shù)將它們合并成一個(gè)字符串。字符串之間插入換行符號(hào)“\n”。
四、關(guān)閉文件
在Python中,所有的文件對(duì)象都有一個(gè)close()方法。在完成文件操作后,應(yīng)該使用close()方法關(guān)閉文件對(duì)象。關(guān)閉文件可以確保在程序中不再使用該文件,同時(shí)也可以節(jié)省資源。
f = open("example.txt","r")
# some file operation
f.close()
不僅應(yīng)該在程序的最后關(guān)閉文件,而且在操作后立即關(guān)閉文件。關(guān)閉文件后,不能再使用該文件對(duì)象進(jìn)行操作。
五、文件的上下文管理器
在Python中,可以使用with語(yǔ)句來打開文件和處理文件。with語(yǔ)句會(huì)在打開文件后執(zhí)行,負(fù)責(zé)管理文件對(duì)象。文件操作完成后,with語(yǔ)句會(huì)自動(dòng)關(guān)閉文件。
with open('example.txt', 'r') as f:
# Perform file operations…
當(dāng)with語(yǔ)句執(zhí)行完畢時(shí),文件對(duì)象f將自動(dòng)關(guān)閉。在with語(yǔ)句中打開文件時(shí),可以省略在with代碼塊結(jié)束后調(diào)用close()方法的步驟,從而避免了由于未關(guān)閉文件而導(dǎo)致的程序錯(cuò)誤。
六、總結(jié)
在Python中,open()函數(shù)是文件操作中使用最多的函數(shù)之一。可以使用open()函數(shù)在Python中打開、讀取、寫入文本文件。在讀寫文件時(shí),應(yīng)該使用with語(yǔ)句,以確保文件正確地關(guān)閉。