我想将文本添加到文件中的特定位置。当我添加它时,将添加额外的空格。在这里,我想在“橙色”文本下方添加“芒果”文本。为此,我使用了这段代码。
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
我该怎么做?
答案 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)