我尝试使用.py脚本替换.txt文件中的文本。这是我到目前为止所拥有的:
docname=raw_input("Enter a document name: ")
fo=open(docname, 'r+')
string=fo.read()
replace=raw_input("Enter what you want to replace: ")
replacewith=raw_input("Enter what you want to replace it with: ")
out=string.replace(replace,replacewith)
fo.write(out);
fo.close()
print "Check the document!"
closeInput = raw_input("Press ENTER to exit")
我有一个名为" test.txt"的txt文件。 (与.py脚本位于同一目录中)。当我输入" test.txt"时,它会按预期询问我要替换的内容。当我填写它时,它会询问我想要替换它的内容。
我填写了,程序结束了。没有"Check the document!"
或其他任何东西。最糟糕的是,它并没有用第二个字符串代替它。
请帮忙!
答案 0 :(得分:1)
你有两种可能性:
fo.seek(0)
fo = open(docname, 'w')
第一个选项有一个问题:如果替换文本比原始文本短,则一些文本将留在最后。 为了说明我在说什么: 你有文本'12345'并想要用'a'替换'12',然后生成的文件会 包含'a3455'