我正在尝试替换文本文件中的文本(让我们只调用文件test.txt),这是示例文本:
Math is good
Math is hard
Learn good math
be good at math
DO\SOMETHING\NOW
我想要类似的东西:
Math is good
Math is hard
Learn good science
be good at science
DO\SOMETHING\NOW
我正在尝试以下列方式使用fileinput
import fileinput
file = fileinput.input("Path/To/File/text.txt", inplace=True)
for line in file:
print(line.replace("math", "science"))
问题是打印功能会自动附加" \ n"所以它会跳过一条新线。我尝试使用" sys.stdout.write(line.replace(" math"," science"))替换,但是在文本文件中输出了数字。那么我该如何有效地做到这一点,以便得到我想要的结果。我应该只是使用open并逐行进行并检查单词" math"弹出并替换这个词?任何帮助将不胜感激!
答案 0 :(得分:4)
您可以通过将print()
关键字参数设置为空字符串来告诉end
不要写新行:
print(line.replace("math", "science"), end='')
default value for end
is '\n'
。
或者,您可以从line
删除换行符:
print(line.rstrip('\n').replace("math", "science"))