我已经写了一个脚本来从外语文本中删除多余的空格。当我在Windows命令提示符下执行脚本时,我没有收到任何错误。一切都很完美。但是,我在脚本中指定的输出文件并未创建,也没有修改输入文件。我尝试为脚本写入空白文档'corpus_1'。然后我试着回写输入文件。无论哪种方式,指定的文件保持不变。我如何让脚本写入文件?我在代码中缺少什么?为什么我的脚本不写入文件?
def lettersWhitespace():
replacements = {' ':' ', 'c ':'c'}
with open('C:\\Users\\Charles\\corpus.odt','w+') as infile, open('C:\\Users\\Charles\\corpus_1.odt', 'w') as outfile:
for line in infile:
for src, target in replacements.iteritems():
line = line.replace(src, target)
outfile.write(line)
编辑:我相信我发现了这个问题。看来我的第一行'def lettersWhitespace():'是多余的。正如所写,该脚本正在定义一个函数,但不会调用该函数。这听起来正确吗?
'w +'擦除文件。我希望这不是你唯一的副本。 – user2357112
感谢您的意见。我有几个备份,但我甚至没有在运行脚本后出现擦除文件。没有什么被修改。 然而,当我最终得到这个工作,我应该只是'W'而不是'W +'? –