【问题标题】:How to insert a newline at middle of a file in python如何在python中的文件中间插入换行符
【发布时间】:2025-11-29 00:35:01
【问题描述】:

我是 python 的新用户。只是尝试使用python编写脚本。 有人可以帮我吗。

我使用文件中的数据计算了一些值,我想用文件中的新值替换现有值,同时我想注释掉现有值,以便我可以验证新计算的值是否确实有道理。 我确实解析了所需的文件,并且对插入换行符并注释掉旧文件感到困惑。

如果有人发布示例,那就太好了。

谢谢你的问候 ss213

【问题讨论】:

  • 一般来说,您不能修改文件的内容——您必须读取文件,更改所需的位,然后将其写回。 (事实上​​,可以修改文件 - 但它有点棘手,而且可能不是你想要做的。)

标签: python python-2.7


【解决方案1】:

逐行输出到新文件,更改您需要的内容。然后用新文件替换旧文件。

input = open('input.txt','r')
output = open('temp.txt','w')
for line in input.readlines():
    if line == 'xxx':
        output.write('#' + line)
        output.write('yyy')
    else:
        output.write(line)

【讨论】:

    【解决方案2】:

    有点模糊。假设你有一个字符串

    a = 'ABCDEF'
    

    如果你想在中间插入一个换行符,那么你可以使用:

    a = "%s%s%s" % (a [:3], '\n', a [3:])
    

    或者其他三种方法。 你能发布一个示例输入文件和所需的输出吗?

    【讨论】:

    • 谢谢,但我的意思是其他方式,假设我在实际文件中有 A=125,计算值为 A=134。我如何注释掉 #A=125 并添加一个带有 A=134 的换行符
    • 将文件读入字符串(假设称为内容)。然后执行 content = content.replace ('A=125', '#A=125\nA=134')。并将其写回文件或另一个文件。