-2

az からの単語を含む 587 kb のファイルを読み込んでいます: aa bb cc ...など... どのようなコードを書いても、ファイルを読むのに文字通り 38 秒かかります!

with open('dictionary.txt', encoding = 'utf-8') as dictionary:
      dictionary.read().splitlines()

私の質問は次のとおりです。ファイルを少なくとも 4 秒以内に読み取るにはどうすればよいですか? また、リスト内のすべての単語を返す必要があります。


問題は解決
しました 「わかりました!問題だけに注目してランダムな単語を選択する代わりに、すべての単語を印刷していました。ばかげています。そして今、これを行っていると、単語が分数で表示されます。秒の: pastie.org/8149529 "

4

6 に答える 6

2

これは行を反復するため、必要なメモリが少なくて済みます。

words = []
with open('dictionary.txt', encoding='utf-8') as dictionary:
    for line in dictionary:
        words.extend(line.split())
于 2013-07-17T16:03:51.723 に答える
0
with open('dictionary.txt', encoding = 'utf-8') as dictionary:
     list(dictionary)

多分???そんなに時間がかかるなら、あなたのスペックが知りたい

結果を投稿できますか

import time
s = time.time()
with open('dictionary.txt', encoding = 'utf-8') as dictionary:
     x=list(dictionary)
print time.time()-s
于 2013-07-17T15:56:27.187 に答える
0

「すぐにメッセージを受け取りましたが、単語のリストを印刷するのにまた永遠にかかっています」とあなたは言います。

したがって、あなたの質問が提起する問題は存在しません。投稿したコードを使用し続け、改行を保持/作成して一度に印刷するのではなく、特に行ごとに印刷する場合は、コンソールへの印刷に時間がかかることを認識してください。

于 2013-07-17T16:56:00.147 に答える