【问题标题】:How do you replace a line of text in a text file (python) [duplicate]如何替换文本文件中的一行文本(python)[重复]
【发布时间】:2013-05-13 10:20:53
【问题描述】:

我有一个如下所示的文本文件:

unknown value 1
unknown value 2
unknown value 3
unknown value 4
unknown value 5

如何选择一行并将其内容替换为另一个字符串?

例如:

unknown value 1 更改为unknown value 0

我怎样才能做到这一点?

【问题讨论】:

    标签: python file text replace line


    【解决方案1】:
    import fileinput
    
    for line in fileinput.input('inFile.txt', inplace=True): 
          print line.rstrip().replace('oldLine', 'newLine'),
    

    这会将所有行替换为文本'oldLine',如果您只想替换第一行,则需要添加一个条件并跳出循环。

    添加 rstrip() 可以避免在每行之后添加额外的空格

    【讨论】:

    • 您可能会修改多行而不是单个选定的行。
    • 你说得对,我加了注释。
    • 这会在每行之间添加一个新的空白行(即使没有匹配)
    • 如果可能的话,我对条件和中断循环的解决方案感兴趣。如果您可以将其添加到解决方案中,我将不胜感激!
    【解决方案2】:

    试试这个

    with open('file', 'r') as input_file, open('new_file', 'w') as output_file:
        for line in input_file:
            if line.strip() == 'to replace':
                output_file.write('new line\n')
            else:
                output_file.write(line)
    

    【讨论】:

      猜你喜欢
      • 2014-06-28
      • 2013-11-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多