Python 替换文本文件循环中的字符串
Python replace string in loop for a text file
我一直在尝试使用 for 循环修改文本文件中的特定单词。我希望在 Fe.in 文件中更改的词是 >latt_par。我想为列表中 vol 的每个值创建一个文件。但是,我只是不断得到最后一个“3.05”。有什么办法可以指导我吗?我从 Python.
开始
这是我的代码
vols = [2.65, 2.85, 3.05]
temp = [100,200,300]
for x in vols:
f = open('Fe.in','r')
filedata = f.read()
f.close()
newvol = filedata.replace("latt_par", str(x))
f = open('Fe_' + str(x) +'.in','w')
f.write(newvol)
f.close()
我还想替换文件 Fe.in 中的另一个字符串,我想 运行 替换变量 temp,但我没能做到。
非常感谢任何帮助!
with open('Fe.in','r') as msg:
data = msg.read()
for x in vols:
wdata = data.replace("latt_par", str(x))
with open('Fe_' + str(x) +'.in','w') as out_msg:
out_msg.write(wdata)
就像你不需要打开你的模板 N 次,with
方法允许不关闭文件没有麻烦。
我一直在尝试使用 for 循环修改文本文件中的特定单词。我希望在 Fe.in 文件中更改的词是 >latt_par。我想为列表中 vol 的每个值创建一个文件。但是,我只是不断得到最后一个“3.05”。有什么办法可以指导我吗?我从 Python.
开始这是我的代码
vols = [2.65, 2.85, 3.05]
temp = [100,200,300]
for x in vols:
f = open('Fe.in','r')
filedata = f.read()
f.close()
newvol = filedata.replace("latt_par", str(x))
f = open('Fe_' + str(x) +'.in','w')
f.write(newvol)
f.close()
我还想替换文件 Fe.in 中的另一个字符串,我想 运行 替换变量 temp,但我没能做到。 非常感谢任何帮助!
with open('Fe.in','r') as msg:
data = msg.read()
for x in vols:
wdata = data.replace("latt_par", str(x))
with open('Fe_' + str(x) +'.in','w') as out_msg:
out_msg.write(wdata)
就像你不需要打开你的模板 N 次,with
方法允许不关闭文件没有麻烦。