[英]Python: replace line in file starting with a pattern
在文本文件中有这一行
initial_mass = unknown_int
我想换行
initial_mass = known_int
顾名思义,我不会知道初始值,但我想用已知值替换它。 使用Python,我如何搜索以'initial_mass'开头的行,然后用'initial_mass = known_int'替换整行?
我正在思考
import fileinput
for line in fileinput.FileInput(filename, inplace=True):
line=line.replace(old, new)
print(line),
如何将old
设置为包含initial_mass = uknown_int
的行? 我看过startswith()
但我不知道怎么用它来得到我想要的东西。 我也试过正则表达式,发现它完全令人困惑。
该文件不是特别大,但我需要多次迭代这个过程。
你不需要知道old
是什么; 只需重新定义整行:
import sys
import fileinput
for line in fileinput.input([filename], inplace=True):
if line.strip().startswith('initial_mass = '):
line = 'initial_mass = 123\n'
sys.stdout.write(line)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.