我如何在python文件中复制一行?

时间:2019-06-13 18:31:06

标签: python text

我想读取一个text.txt文件,其中包含一些随机文本,我想创建一个程序以使其逐行读取,如果它找到特定的文本来复制该行。

我设法用以下代码找到我要复制的行 逐行读取文件 原始文件

  

测试副本测试

所以我做了下面的代码

with open("text.txt",'r+') as f:
    for line in f:
        print(line)
        if 'copy' in line:
            x="copy"
            f.write(x)
            f.write(x)

预期结果将是

  

测试副本复制测试

但我却得到

  

测试副本测试副本

2 个答案:

答案 0 :(得分:2)

  

测试副本测试

已经在文件中并且不会移动...请注意,您在脚本中两次写入了“复制”。您在文件末尾写。那就是为什么你得到。

  

测试副本测试副本

您发现“复制”一次,然后写两次,但最后。另外,在打印“副本”时不会使用空格。

我的建议:创建一个新文件,从原始文件中读取,然后写入新文件。如果找到所需的单词,请写两次。然后继续进行到底。

答案 1 :(得分:0)

如果以下操作不起作用,只需将line设置为字符串。 但是我认为这就是您想要的。

if 'copy' in line:
    x = line.replace('copy', 'copy copy')
    f.write(x)

您可以使用以下内容简化

if 'copy' in line:
    f.write(line.replace('copy', 'copy copy'))