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.6KBです。感謝します。(コードは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.
そして、残りのコードは正常に機能しました。誰がこれを引き起こしたのか知っていますか?