一、with open的介紹
Python中使用文件操作十分方便,通過打開文件、讀取文件、寫入文件及關閉文件等一系列操作,可以輕鬆地在Python中實現文件操作。with open語句是Python文件操作中的一種常用方法,它可以自動幫助我們關閉文件,避免頻繁地使用close()方法而導致程序出錯。
with open("test.txt","w") as f:
f.write("hello world")
上述代碼中,我們使用了with open語句來打開test.txt文件,並使用了文件對象f來對文件進行操作。其中,w表示寫入文件,如果文件不存在,則會創建該文件。最後,with open會自動幫助我們關閉文件。
二、讀取文件
使用with open語句也可以用來讀取文件,常見的讀取文件的方式有兩種:read()方法和readline()方法。
1. read()方法
read()方法用於讀取整個文件內容,可以將文件內容全部讀取到內存中。
with open("test.txt","r") as f:
content = f.read()
上述代碼中,我們打開了test.txt文件,並使用read()方法將文件內容全部讀取到了content變數中。需要注意的是,使用read()方法會將整個文件的內容讀取到內存中,如果文件非常大,則會導致內存溢出,因此在讀取大文件時需要特別注意。
2. readline()方法
readline()方法一行一行地讀取文件內容。
with open("test.txt","r") as f:
line = f.readline()
while line:
print(line.strip())
line = f.readline()
上述代碼中,我們使用了while循環來逐行讀取文件內容,並使用strip()方法去除每行末尾的換行符。
三、寫入文件
使用with open語句也可以用來寫入文件。常見的寫入文件的方式有兩種:write()方法和writelines()方法。
1. write()方法
write()方法用於向文件中寫入內容。
with open("test.txt","w") as f:
f.write("hello world")
上述代碼中,我們使用write()方法向test.txt文件中寫入了”hello world”這句話。如果文件不存在,則會創建該文件。如果文件已經存在,則會覆蓋原來的內容。
2. writelines()方法
writelines()方法用於向文件中寫入多行內容。
with open("test.txt","w") as f:
lines = ["hello world\n","welcome to learn Python\n"]
f.writelines(lines)
上述代碼中,我們使用了writelines()方法向test.txt文件中寫入了兩行內容。需要注意的是,writelines()方法只能接受一個字元串列表作為參數,每個字元串必須以換行符結尾。
四、文件指針操作
在Python中,文件作為對象處理。當我們讀取或寫入文件時,文件指針會自動移動到讀取或寫入的位置。為了更好的控制文件讀取和寫入的位置,我們可以通過文件指針來實現。
1. tell()方法
tell()方法可以返迴文件指針當前的位置。
with open("test.txt","r") as f:
print(f.tell())
content = f.read()
print(f.tell())
上述代碼中,我們使用tell()方法來獲取文件指針的位置。在讀取文件前,文件指針的位置為0,讀取完文件後,文件指針的位置為文件的字元數。
2. seek()方法
seek()方法可以移動文件指針的位置。
with open("test.txt","r") as f:
f.seek(5) # 移動文件指針到第5個位元組
content = f.read()
上述代碼中,我們使用seek()方法將文件指針移動到了第5個位元組的位置後,再讀取了文件的內容。
五、總結
使用with open語句可以方便地打開、讀取、寫入和關閉文件,同時還可以避免頻繁地使用close()方法而引起的錯誤。在進行文件操作時,我們也可以通過文件指針來更好地控制讀取和寫入的位置。
原創文章,作者:SWJG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/149244.html