您做错的不是明确更改任何文件中的任何内容。
这是一些代码来展示如何将内容写入文件......
fp = open(somefilepath,'w')
此行打开一个文件进行写入,'w' 告诉 python 如果文件不存在则创建该文件,但如果文件存在则删除该文件的内容。如果要打开文件进行写入并保留当前内容,请改用“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 条目应该是哪个 Dictionary 条目?你怎么知道实际的修正?您是否尝试过这部分脚本(毕竟这是症结所在。这只是出于礼貌)。您能否与我们分享您在这部分的尝试。
让我们假设你有这个功能:
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
要重申之前的观点,重要的是要表明如果您需要任何有意义的帮助,您至少已经尝试解决问题的症结所在。