溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python中怎么讀寫(xiě)文件

發(fā)布時(shí)間:2021-07-10 16:32:06 來(lái)源:億速云 閱讀:144 作者:Leah 欄目:系統(tǒng)運(yùn)維

Python中怎么讀寫(xiě)文件,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

從文件讀取和寫(xiě)入文件是任何編程語(yǔ)言的常見(jiàn)需求。任何文件在讀寫(xiě)之前都需要打開(kāi)。大多數(shù)編程語(yǔ)言都使用open()方法來(lái)打開(kāi)文件,以便使用文件對(duì)象(file object)讀寫(xiě)??梢允褂貌煌?lèi)型的文件訪問(wèn)模式作為open()方法的參數(shù),以說(shuō)明打開(kāi)文件的目的。這個(gè)參數(shù)是可選的。close()方法用于在完成文件操作后釋放文件對(duì)象占用的資源。Python編程可以處理兩種類(lèi)型的文件。它們是文本文件和二進(jìn)制文件。

文件訪問(wèn)模式:

前面已經(jīng)提到,open()方法中可以使用不同類(lèi)型的文件訪問(wèn)模式,本部分將對(duì)此進(jìn)行描述。常用的模式如下所述。

模式用途
t表示一個(gè)文本文件,是默認(rèn)文件類(lèi)型。
b表示一個(gè)二進(jìn)制文件。
r打開(kāi)文件進(jìn)行讀取,這是打開(kāi)任何文件的默認(rèn)模式。
w打開(kāi)文件進(jìn)行寫(xiě)入。
x如果不存在,它將打開(kāi)文件進(jìn)行寫(xiě)入。
a如果文件存在,它將打開(kāi)文件并在文件末尾添加內(nèi)容;否則,請(qǐng)創(chuàng)建文件并在文件開(kāi)頭添加內(nèi)容。
r+打開(kāi)文件進(jìn)行讀寫(xiě),并將光標(biāo)置于文件的開(kāi)頭。如果文件不存在,則會(huì)引發(fā)錯(cuò)誤。
w+打開(kāi)文件進(jìn)行讀寫(xiě),如果文件已經(jīng)存在,則覆蓋數(shù)據(jù)。
a+打開(kāi)文件以進(jìn)行讀寫(xiě),并將光標(biāo)置于現(xiàn)有文件的文件末尾。如果文件不存在,它將創(chuàng)建文件。

方法:

Python中存在許多讀取或?qū)懭胛募姆椒?。本文詳述最常用的方法?/p>

open():

這個(gè)方法包含兩個(gè)參數(shù)。第一個(gè)參數(shù)是強(qiáng)制性的,用于獲取文件名進(jìn)行讀取或?qū)懭?。第二個(gè)參數(shù)是可選的,用于設(shè)置文件訪問(wèn)模式。默認(rèn)的文件訪問(wèn)模式是“rt”。該方法的返回類(lèi)型是一個(gè)文件對(duì)象,用于讀取和寫(xiě)入文件。

語(yǔ)法:

FileObject = open(“Filename”,”FileMode”)

close():

此方法用于關(guān)閉文件并使它可用于其他目的。調(diào)用此方法后,文件處理對(duì)象將不可用。

read():

此方法用于使用文件對(duì)象從文件讀取特定數(shù)量的字節(jié)。

readline():

此方法用于使用文件對(duì)象從文件讀取特定行。

readlines():

此方法用于讀取使用文件對(duì)象用逗號(hào)(,)分隔的文件的所有行。

write():

此方法用于使用文件對(duì)象將內(nèi)容寫(xiě)入文件。

讀取文本文件:

創(chuàng)建一個(gè)名為“ linuxmi.txt”的文本文件,其中包含以下內(nèi)容,以在本文的下一部分中使用。

Linux迷

www.linuxmi.com

linuxmi.com

linuxmi

m.linuxmi.com

示例1:使用read()、readline()和readlines()讀取文件

使用以下Python腳本創(chuàng)建一個(gè)名為linuxmi1.py的文件。它將使用read()根據(jù)字節(jié)大小讀取文件,使用readline()從文件中讀取固定數(shù)量的字符,并使用readlines()讀取數(shù)組中文件的所有行。

# 打開(kāi)文件進(jìn)行讀取  FileHandler = open("linuxmi.txt","r")  # 根據(jù)大小讀取文件內(nèi)容  print('輸出來(lái)自 read() 方法\n',FileHandler.read(2048))  # 關(guān)閉文件  FileHandler.close()  # 打開(kāi)文件進(jìn)行讀寫(xiě)  FileHandler = open("linuxmi.txt","r+")  # 讀取第三行的文件內(nèi)容  print('輸出來(lái)自 readline() 方法\n',FileHandler.readline(5))  # 關(guān)閉文件  FileHandler.close()  # 打開(kāi)文件進(jìn)行讀取和附加  FileHandler = open("linuxmi.txt","r")  # 打開(kāi)文件進(jìn)行讀取和附加  print('輸出來(lái)自 readlines() 方法\n',FileHandler.readlines())  # 關(guān)閉文件  FileHandler.close()

輸出:

運(yùn)行腳本后,將顯示以下輸出。

Python中怎么讀寫(xiě)文件

示例2:使用循環(huán)逐行讀取文件

使用以下腳本創(chuàng)建一個(gè)名為linuxmi2.py的文件。它將使用for循環(huán)從文件對(duì)象讀(fileObject)取并打印文件的每一行。

# 打開(kāi)文件進(jìn)行讀取  fileObject = open("linuxmi.txt", "r")  # 逐行讀取文件并在終端中打印  for line in fileObject:    print(line)

輸出:

運(yùn)行腳本后,將顯示以下輸出。

Python中怎么讀寫(xiě)文件

示例3:通過(guò)使用with語(yǔ)句來(lái)讀取文件

使用以下腳本創(chuàng)建一個(gè)名為linuxmi3.py的文件。它將在不使用任何文件對(duì)象的情況下通過(guò)語(yǔ)句讀取文件。

# 使用with語(yǔ)句讀取文件  with open("linuxmi.txt") as fhandler:    print(fhandler.readlines())

輸出:

運(yùn)行腳本后,將顯示以下輸出。

Python中怎么讀寫(xiě)文件

編寫(xiě)文本文件:

通過(guò)定義文件對(duì)象或?qū)⑵渑c語(yǔ)句一起使用,可以將內(nèi)容寫(xiě)入文件中。

示例4:使用文件對(duì)象寫(xiě)入文件(file object)

使用以下腳本創(chuàng)建一個(gè)名為linuxmi.com.py的文件。它將打開(kāi)一個(gè)用于寫(xiě)入的文本文件,并使用write()方法寫(xiě)入三行。

# 打開(kāi)文件進(jìn)行寫(xiě)入  fileObject = open("www.linuxmi.com.txt", "w")  #  添加一些文本  fileObject.write("Linux迷歡迎您\n")  fileObject.write("我們的網(wǎng)址是www.linuxmi.com\n")  fileObject.write("手機(jī)站m.linuxmi.com\n")  # 關(guān)閉文件  fileObject.close()

輸出:

運(yùn)行腳本,并檢查是否使用內(nèi)容創(chuàng)建了文件。運(yùn)行腳本并運(yùn)行“ cat”命令后,將顯示以下輸出。

Python中怎么讀寫(xiě)文件

示例5:使用with語(yǔ)句寫(xiě)入文件

無(wú)需定義文件對(duì)象就可以將內(nèi)容寫(xiě)入文件。使用以下腳本創(chuàng)建一個(gè)名為m.linuxmi.com.py的文件。通過(guò)使用with語(yǔ)句,它將在文件中寫(xiě)入兩行。

# 使用with語(yǔ)句打開(kāi)文件進(jìn)行寫(xiě)入  with open("m.linuxmi.com.txt",'w') as fileObj:     fileObj.write("Linux迷為您提供最新的開(kāi)源資訊\n")     fileObj.write("linuxmi.com提供最新最前沿的開(kāi)源技術(shù)\n")

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI