我試着逐行閱讀一個文件,並且對於我閱讀的每一行,我試圖將它分開,之後我想把它寫在我得到它的地方。爲了做到這一點,我寫這樣的代碼:逐行讀取文件,修改該行並將該行寫入同一文件。 Python
fst_file=open(fst_text,"r+")
line=fst_file.readline()
while line:
temp=(line.split('CONFIG_',1)[1]).split('PATH=')
temp[1]=temp[1].replace('\n','')
fst_file.write(temp)
line=fst_file.readline()
fst_file.close()
但是我有這樣的錯誤:
File "test.py", line 84, in <module>
branchName()
File "test.py", line 75, in branchName
fst_file.write(temp)
TypeError: expected a character buffer object
有沒有人幫我嗎?
您*不能*重寫文件中的特定行。如果你寫的這行更長,那麼你會覆蓋下一行的開始,如果它更短,那麼你會留下一些垃圾。您必須用另一條長度恰好相同的線覆蓋一條線。你也不能刪除一條線。只需重新編寫整個文件即可。 (還要注意,在你的示例代碼中,你*不會*重寫剛剛讀取的行,你正在覆蓋* following *行;最終會丟失一半這樣的文件)。 – Bakuriu
@Bakuriu什麼意思是重寫? – caesar
like file.clear()?/ – caesar