我已經寫了一個腳本來從外語文本中刪除多餘的空格。當我在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 +'? –