Python Dictionary Spell Checker, 'TypeError: write() takes no keyword arguments'
Python Dictionary Spell Checker, 'TypeError: write() takes no keyword arguments'
我正在使用 python 词典来比较莎士比亚全集和 10,000 词词典,代码应该将在 10,000 词词典中找不到的所有词输出到一个名为 'SpellChecker.txt'。我相信这段代码中的所有内容都是 运行 正确的。我只遇到一个与将数据保存到输出文件有关的错误,但似乎无法修复它。感谢任何帮助。
错误:
Traceback (most recent call last):
File "/Users/JakeFrench/Desktop/HashTable.py", line 29, in <module>
f1.write(word+'\n', encoding= 'utf-8')
类型错误:write() 没有关键字参数
import re
import time
start_time = time.time()
f1=open ('SpellChecker.txt', 'w+')
Dictionary = {}
Document = []
with open ('10kWords.txt', encoding= 'utf-8') as f:
for word in f:
Dictionary[word.rstrip()] = 1
with open ('ShakespeareFullWorks.txt', encoding= 'utf-8') as f:
content = f.read().split(" ")
content = [item.lower() for item in content]
content = ' '.join(content)
content = re.findall("\w+", content)
for line in content:
Document.append(line)
for line in content:
for word in line.split():
if word.lower() not in Dictionary:
f1.write(word+'\n', encoding= 'utf-8')
f1.close()
print ("--- %s seconds ---" % (time.time() - start_time))
只需将write
方法中的encoding属性去掉,插入open
函数中,如下:
f1=open ('SpellChecker.txt', 'w+', encoding='utf-8')
...
f1.write(word+'\n')
我正在使用 python 词典来比较莎士比亚全集和 10,000 词词典,代码应该将在 10,000 词词典中找不到的所有词输出到一个名为 'SpellChecker.txt'。我相信这段代码中的所有内容都是 运行 正确的。我只遇到一个与将数据保存到输出文件有关的错误,但似乎无法修复它。感谢任何帮助。
错误:
Traceback (most recent call last):
File "/Users/JakeFrench/Desktop/HashTable.py", line 29, in <module>
f1.write(word+'\n', encoding= 'utf-8')
类型错误:write() 没有关键字参数
import re
import time
start_time = time.time()
f1=open ('SpellChecker.txt', 'w+')
Dictionary = {}
Document = []
with open ('10kWords.txt', encoding= 'utf-8') as f:
for word in f:
Dictionary[word.rstrip()] = 1
with open ('ShakespeareFullWorks.txt', encoding= 'utf-8') as f:
content = f.read().split(" ")
content = [item.lower() for item in content]
content = ' '.join(content)
content = re.findall("\w+", content)
for line in content:
Document.append(line)
for line in content:
for word in line.split():
if word.lower() not in Dictionary:
f1.write(word+'\n', encoding= 'utf-8')
f1.close()
print ("--- %s seconds ---" % (time.time() - start_time))
只需将write
方法中的encoding属性去掉,插入open
函数中,如下:
f1=open ('SpellChecker.txt', 'w+', encoding='utf-8')
...
f1.write(word+'\n')