[英]Edit specific line at specific position in Text file in Python
我有两个变量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
只需打开现有文件并阅读行。 假设您要替换始终跟在 '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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.