Python:替换文件中以模式开头的行

标签 python

在文本文件中有这一行

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)

关于Python:替换文件中以模式开头的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749252/

相关文章:

python smtp 检查用户名和密码是否正确

python - 高效分页查询结果

python - 将 C++ 中的数组操作转换为 Python

python - Django 测试数据加载最佳实践

python - Streamlit 应用程序不断显示 "Please wait..."并在终端中给出错误

python - 在 Python 中使用 << 意味着什么

python - Pandas groupby 找出正确与错误的百分比

python - 如何使用 TensorFlow 的 sketch RNN 教程对 QuickDraw 涂鸦进行分类?

Python 仅在 for 循环未开始迭代(使用生成器)时才执行代码?

python - 使用类合并两个列表 (Python)