您好,登錄后才能下訂單哦!
Python中怎么讀寫文件,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
從文件讀取和寫入文件是任何編程語言的常見需求。任何文件在讀寫之前都需要打開。大多數編程語言都使用open()方法來打開文件,以便使用文件對象(file object)讀寫。可以使用不同類型的文件訪問模式作為open()方法的參數,以說明打開文件的目的。這個參數是可選的。close()方法用于在完成文件操作后釋放文件對象占用的資源。Python編程可以處理兩種類型的文件。它們是文本文件和二進制文件。
文件訪問模式:
前面已經提到,open()方法中可以使用不同類型的文件訪問模式,本部分將對此進行描述。常用的模式如下所述。
模式 | 用途 |
t | 表示一個文本文件,是默認文件類型。 |
b | 表示一個二進制文件。 |
r | 打開文件進行讀取,這是打開任何文件的默認模式。 |
w | 打開文件進行寫入。 |
x | 如果不存在,它將打開文件進行寫入。 |
a | 如果文件存在,它將打開文件并在文件末尾添加內容;否則,請創建文件并在文件開頭添加內容。 |
r+ | 打開文件進行讀寫,并將光標置于文件的開頭。如果文件不存在,則會引發錯誤。 |
w+ | 打開文件進行讀寫,如果文件已經存在,則覆蓋數據。 |
a+ | 打開文件以進行讀寫,并將光標置于現有文件的文件末尾。如果文件不存在,它將創建文件。 |
方法:
Python中存在許多讀取或寫入文件的方法。本文詳述最常用的方法。
open():
這個方法包含兩個參數。第一個參數是強制性的,用于獲取文件名進行讀取或寫入。第二個參數是可選的,用于設置文件訪問模式。默認的文件訪問模式是“rt”。該方法的返回類型是一個文件對象,用于讀取和寫入文件。
語法:
FileObject = open(“Filename”,”FileMode”)
close():
此方法用于關閉文件并使它可用于其他目的。調用此方法后,文件處理對象將不可用。
read():
此方法用于使用文件對象從文件讀取特定數量的字節。
readline():
此方法用于使用文件對象從文件讀取特定行。
readlines():
此方法用于讀取使用文件對象用逗號(,)分隔的文件的所有行。
write():
此方法用于使用文件對象將內容寫入文件。
讀取文本文件:
創建一個名為“ linuxmi.txt”的文本文件,其中包含以下內容,以在本文的下一部分中使用。
Linux迷
www.linuxmi.com
linuxmi.com
linuxmi
m.linuxmi.com
示例1:使用read()、readline()和readlines()讀取文件
使用以下Python腳本創建一個名為linuxmi1.py的文件。它將使用read()根據字節大小讀取文件,使用readline()從文件中讀取固定數量的字符,并使用readlines()讀取數組中文件的所有行。
# 打開文件進行讀取 FileHandler = open("linuxmi.txt","r") # 根據大小讀取文件內容 print('輸出來自 read() 方法\n',FileHandler.read(2048)) # 關閉文件 FileHandler.close() # 打開文件進行讀寫 FileHandler = open("linuxmi.txt","r+") # 讀取第三行的文件內容 print('輸出來自 readline() 方法\n',FileHandler.readline(5)) # 關閉文件 FileHandler.close() # 打開文件進行讀取和附加 FileHandler = open("linuxmi.txt","r") # 打開文件進行讀取和附加 print('輸出來自 readlines() 方法\n',FileHandler.readlines()) # 關閉文件 FileHandler.close()
輸出:
運行腳本后,將顯示以下輸出。
示例2:使用循環逐行讀取文件
使用以下腳本創建一個名為linuxmi2.py的文件。它將使用for循環從文件對象讀(fileObject)取并打印文件的每一行。
# 打開文件進行讀取 fileObject = open("linuxmi.txt", "r") # 逐行讀取文件并在終端中打印 for line in fileObject: print(line)
輸出:
運行腳本后,將顯示以下輸出。
示例3:通過使用with語句來讀取文件
使用以下腳本創建一個名為linuxmi3.py的文件。它將在不使用任何文件對象的情況下通過語句讀取文件。
# 使用with語句讀取文件 with open("linuxmi.txt") as fhandler: print(fhandler.readlines())
輸出:
運行腳本后,將顯示以下輸出。
編寫文本文件:
通過定義文件對象或將其與語句一起使用,可以將內容寫入文件中。
示例4:使用文件對象寫入文件(file object)
使用以下腳本創建一個名為linuxmi.com.py的文件。它將打開一個用于寫入的文本文件,并使用write()方法寫入三行。
# 打開文件進行寫入 fileObject = open("www.linuxmi.com.txt", "w") # 添加一些文本 fileObject.write("Linux迷歡迎您\n") fileObject.write("我們的網址是www.linuxmi.com\n") fileObject.write("手機站m.linuxmi.com\n") # 關閉文件 fileObject.close()
輸出:
運行腳本,并檢查是否使用內容創建了文件。運行腳本并運行“ cat”命令后,將顯示以下輸出。
示例5:使用with語句寫入文件
無需定義文件對象就可以將內容寫入文件。使用以下腳本創建一個名為m.linuxmi.com.py的文件。通過使用with語句,它將在文件中寫入兩行。
# 使用with語句打開文件進行寫入 with open("m.linuxmi.com.txt",'w') as fileObj: fileObj.write("Linux迷為您提供最新的開源資訊\n") fileObj.write("linuxmi.com提供最新最前沿的開源技術\n")
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。