这是麻省理工学院python项目的问题之一,但它基本上是为python 2.x用户编写的,那么有什么办法可以修复以下代码以在最新的python 3中运行?
当前代码引发“ValueError:不能有无缓冲的文本 I/O”
WORDLIST_FILENAME = "words.txt"
def load_words():
print("Loading word list from file...")
inFile = open(WORDLIST_FILENAME, 'r', 0)
# wordlist: list of strings
wordlist = []
for line in inFile:
wordlist.append(line.strip().lower())
print(" ", len(wordlist), "words loaded.")
return wordlist
原文由 Richard 发布,翻译遵循 CC BY-SA 4.0 许可协议
来自
open
的文档字符串:所以改变
inFile = open(WORDLIST_FILENAME, 'r', 0)
至
inFile = open(WORDLIST_FILENAME, 'r')
,或者inFile = open(WORDLIST_FILENAME, 'rb', 0)
如果你真的需要它(我怀疑)。