我有这段代码:
with open("pool2.txt", "r") as f:
content = f.readlines()
for line in content:
line = line.strip().split(' ')
try:
line[0] = float(line[0])+24
line[0] = "%.5f" % line[0]
line = ' ' + ' '.join(line)
except:
pass
with open("pool3.txt", "w") as f:
f.writelines(content)
应该采用如下所示的行:
-0.597976 -6.85293 8.10038
添加到第一个数字的24行。像这样:
23.402024 -6.85293 8.10038
当我在代码中使用print
来打印该行时,该行是正确的,但是当它打印到文本文件时,它会打印为原始文件。
可以找到原始文本文件here。
答案 0 :(得分:1)
循环遍历迭代时:
for line in content:
line = ...
line
是元素的副本 1 。因此,如果您对其进行修改,则更改不会影响content
。
你能做什么?您可以遍历索引,因此可以直接访问当前元素:
for i in range(len(content)):
content[i] = ...
1:请参阅@MarkRansom评论。