我有两个变量 x1 = 123.12和y1 = 123.45 ,用于保存用户输入的值。现在我有一个文本文件,必须在其中更改当前的 245.42和130.32 使用变量 x1和y1 来保存用户输入的值。那么如何在python中修改文本文件?
#text file:
var char12
name andy jordan
home illino
w1 345 3456
p1 346 2123
addmoney 245.42
netmoney 130.32
答案 0 :(得分:0)
只需打开现有文件并阅读各行。假设您要替换始终位于“ addmoney”和“ netmoney”之后的值,则可以找到这些行,并使用re.sub()
将这些值替换为这些行。请记住,您不能简单地就地覆盖文本文件,因此您要存储修改后的行,然后在末尾重新创建一个新文件,如下所示:
x1 = 123.12
y1 = 123.45
import re
with open('mytextfile.txt', 'r') as f:
lines = f.readlines()
for i, l in enumerate(lines):
if l.startswith('addmoney'):
lines[i] = re.sub(r'[0-9.]+', str(x1), lines[i])
elif l.startswith('netmoney'):
lines[i] = re.sub(r'[0-9.]+', str(y1), lines[i])
out = open('modifiedtextfile.txt', 'w'); out.writelines(lines); out.close()