【发布时间】:2017-06-16 08:15:12
【问题描述】:
您好,我目前正在尝试编写一个简单的 python 代码来打开一个文本文件,匹配一个字符串,然后用用户输入替换它。我已经设法让它工作(我很肯定有一种更有效的方法),除非我将结果打印到文件中,它在每行之间添加一个空行。当我执行此过程两次时,它会添加两个空行。
import fileinput
text = fileinput.input(files=('default.txt'))
text2 = fileinput.input(files=("temp.txt"))
mp = str(raw_input("enter the first string: "))
pn = str(raw_input("enter the second string"))
fileN = mp + "_autogen_ST.txt"
f = open("temp.txt","w")
fi = open(fileN,"w")
#for line in text:
# print >>f, (line.replace("*mp*", mp))
for line in text:
print >> f, (line.replace("*pn*", pn))
for line in text2:
print >> fi, (line.replace("*mp*", mp))
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您阅读的文本文件中没有多余的空行吗?
-
我认为你从
raw_inputs 得到的字符串末尾有一个\n,在替换之前尝试.split()他们 -
您好,它正在读取的文本文件没有任何额外的空白行,但是在打印后,它在每行之后添加了一个空白行。在故意更改字符串后也尝试运行它,因此找不到匹配项,并且它仍然添加空行,因此假设它不是由于原始输入
标签: python python-2.7 file-io newline