当我在 HTC Desire 上的 sl4a 中运行以下代码时出现 MemoryError:
def load_words():
print "Loading word list from file..."
inFile = open(words.txt, 'r', 0)
wordlist = []
for line in inFile:
wordlist.append(line.strip())
print " ", len(wordlist), "words loaded.\n"
return wordlist
打印“从文件加载单词列表...”后,它给出
Traceback (most recent call last):
File "words.txt", line 92, in <module>
wordlist = load_words()
File "words.txt", line 29, in load_words
for line in inFile:
MemoryError
顺便说一句,文件“words.txt”中有 83667 个英文单词,大小为 633.6 KB。帮助表示赞赏。(代码是 MIT OpenCourseWare,CS 6.00 的一部分——计算机科学和编程简介,问题集 5,ps5_ghost.py)
这可能是 sl4a 中的错误吗?
[更新]: 我尝试了以下方法:
def load_words():
print "Loading word list from file..."
inFile = open(words.txt, 'r', 0)
wordlist = []
try:
for line in inFile:
wordlist.append(line.strip())
except MemoryError:
print 'Oops...'
print " ", len(wordlist), "words loaded.\n"
return wordlist
然后,神奇地,我得到了
Loading word list from file...
Oops...
83667 words loaded.
其余代码运行良好。有谁知道这是什么原因造成的?