你在做什麼錯誤沒有明確地改變任何文件中的任何東西。
這裏的代碼一點點展示如何寫東西的文件...
fp = open(somefilepath,'w')
這一行打開一個文件進行寫操作時,「W」告訴蟒蛇如果它創建的文件不存在,但也刪除文件的內容,如果它存在。如果您想要打開文件進行寫入並保留當前內容,請使用'a'。 'a'是爲了追加。
fp.write(stuff)
將變量'stuff'寫入文件中。
希望這會有所幫助。有關您的問題更具體的代碼,請告訴我們您想要寫入文件的內容。
而且,這裏是一些文件,應該幫助您更好地瞭解文件的主題:http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files
編輯:但你並沒有改變任何東西!
通過此腳本的到底是什麼,你已經完成:
1. Dictionary is a set containing all acceptable words
2. WordList is a set containing all not acceptable lines
3. You have read to the end of SearchFile
如果我理解你現在想要做正確你的問題是:
4. find out which Disctionary word each line stored in Wordlist should be
5. re-write SearchFile with the offending lines replaced.
如果這是正確的,你打算如何確定哪個WordList條目應該是哪個字典條目?你怎麼知道實際的更正?你有沒有嘗試過這部分劇本(畢竟它是關鍵所在,它只會禮貌)。您可以請與我們分享您在這部分的嘗試。
讓我們假設你有這樣的功能:
def magic(line,dictionary):
"""
this takes a line to be checked, and a set of acceptable words.
outputs what line is meant to be.
PLEASE tell us your approach to this bit
"""
if line in dictionary:
return line
...do stuff to find out which word is being mis spelt, return that word
Dictionary=set(open("dictionary.txt").read().split())
SearchFile = open("sample.txt",'r')
result_text = ''
for line in SearchFile:
result_text += magic(line.strip(),Dictionary) #add the correct line to the result we want to save
result_text += '\n'
SearchFile = open("sample.txt",'w')
SearchFile.write(result_text) # here we actually make some changes
如果你有沒有想過如何找到拼寫錯誤的線路應予以糾正,成爲實際的字典值,嘗試了這一點:http://norvig.com/spell-correct.html
重新說明以前的觀點,如果您需要任何有意義的幫助,至少表明您至少試圖解決問題的關鍵點非常重要。
你從來沒有更新過你的'搜索文件'..什麼是使用'WordList'的? –
另外,你想在你的'SearchFile'中改變什麼?你需要更具體.. –