Я попытался прочитать файл строки за строкой и для каждой строки, которую я прочитал, я попытался разбить ее, после чего я хотел написать ее там, где я ее получил. Для того, чтобы сделать это, я написал такой код:чтение файла по строкам, изменение строки и запись этой строки в том же файле. 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
там кто-нибудь помочь мне?
Вы * не можете * переписать определенные строки в файл. Если строка, которую вы пишете, длиннее, то вы перезаписываете начало следующей строки, если она короче, тогда вы оставите некоторый барахло. Вы должны переписать строку другой строкой с * точно такой же длиной. Также вы не можете удалить строку. Просто перепишите весь файл. (также обратите внимание, что в вашем примере кода вы * не * переписываете строку, которую вы только что прочитали. Вы переписываете строку * follow *, в итоге вы потеряете половину файла). – Bakuriu
@ Бакуриу, что делать, означает переиздание? – caesar
like file.clear()?/ – caesar