Python txt编辑出错,文本丢失
我尝试了以下方法:Python txt编辑出错,文本丢失,python,python-3.x,text,Python,Python 3.x,Text,我尝试了以下方法: def überschreiben(filename,vp, capital): data_in=open(filename,"w") data_out=open(filename) vpsegment=False for line in data_out: if "\thistory" in line: data_in.write(line+'\n\t\tvictory_points = { '+capital+' '+vp+' }\
def überschreiben(filename,vp, capital):
data_in=open(filename,"w")
data_out=open(filename)
vpsegment=False
for line in data_out:
if "\thistory" in line:
data_in.write(line+'\n\t\tvictory_points = { '+capital+' '+vp+' }\n')
if "\t\tvictory_points" in line:
vpsegment=True
if vpsegment==True:
if "}" in line:
data_in.write("")
vpsegment=False
else:
data_in.write("")
else:
data_in.write(line)
data_in.close()
data_out.close()
应更改现有代码:
victory_points={xxxxx}
或
我认为这个算法是正确的,但最后我得到了一个空的.txt文件
故障是什么?您首先以“w”的形式打开文件。“w”是写模式,它创建一个新的要写入的空文件 您应该以“r”的形式打开输入文件进行读取,并打开另一个文件名不同的文件进行输出。大概是这样的:
data_in=open(filename, "r")
data_out=open(filename+"_output", "w")
data_in.close()
data_out.close()
os.remove(filename)
os.rename(filename+"_output",filename)
如果文件需要具有相同的名称,可以使用os.remove()和os.rename()删除旧文件,并将新文件重命名为与旧文件相同的名称。在脚本末尾,如下所示:
data_in=open(filename, "r")
data_out=open(filename+"_output", "w")
data_in.close()
data_out.close()
os.remove(filename)
os.rename(filename+"_output",filename)
您首先以“w”的形式打开文件。“w”是写模式,它创建一个新的要写入的空文件 您应该以“r”的形式打开输入文件进行读取,并打开另一个文件名不同的文件进行输出。大概是这样的:
data_in=open(filename, "r")
data_out=open(filename+"_output", "w")
data_in.close()
data_out.close()
os.remove(filename)
os.rename(filename+"_output",filename)
如果文件需要具有相同的名称,可以使用os.remove()和os.rename()删除旧文件,并将新文件重命名为与旧文件相同的名称。在脚本末尾,如下所示:
data_in=open(filename, "r")
data_out=open(filename+"_output", "w")
data_in.close()
data_out.close()
os.remove(filename)
os.rename(filename+"_output",filename)
谢谢,但是如果由于处理原因文件名必须相同怎么办?@ThorepingBank您可以使用os.remove()和os.rename()删除旧文件并重命名新文件。我编辑了我的答案以反映这一点。谢谢,但是如果由于处理原因文件名必须相同怎么办?@ThorepingBank您可以使用os.remove()和os.rename()删除旧文件并重命名新文件。我编辑了我的答案以反映这一点。