添加了额外的换行符

时间:2020-04-17 16:33:54

标签: python

我想将文本添加到文件中的特定位置。当我添加它时,将添加额外的空格。在这里,我想在“橙色”文本下方添加“芒果”文本。为此,我使用了这段代码。

import fileinput

file_name = 'C:/xampp/htdocs/WebVIM/test_file.txt'

for line in fileinput.FileInput(file_name, inplace=1):
    if 'orange' in line:
        line = line.rstrip()
        line = line.replace(line, line+'\n'+'mango'+'\n')
    print(line)

在执行此代码之前,文本文件如下所示。

apple
orange
banana

执行此代码后

apple

orange
mango

banana

但是我想要的结果是

apple
orange
mango
banana

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您要在字符串替换中添加两个新的空白行(\n)。

答案 1 :(得分:0)

问题源于您的打印声明。那就是应用换行符的原因。尝试以下

import fileinput
import sys
file_name = 'test.txt'

for line in fileinput.FileInput(file_name, inplace=True):
    if 'orange' in line:
        line = line.rstrip()
        line = line.replace(line, line+'\nmango\n')
    sys.stdout.write (line)