【发布时间】:2021-01-12 04:36:49
【问题描述】:
我一直在尝试使用 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 上运行它,但我没能做到。 非常感谢任何帮助!
【问题讨论】:
-
您对文件的写入在您的循环之外,这意味着它在最后一次迭代之后运行一次。这将产生
3.05的文件名,因为这是您的最后一次迭代。 -
我看到了我的错误,谢谢你告诉我!!
标签: python for-loop str-replace