2011-07-03 7 views
1

ok urはurllibを使ってURLを開こうとしていますが、ファイルが大きすぎるので、urlを開くとpythonがフリーズします。また、wxpythonを使ってフリーズしてURLを開きます。 私のCPUはほぼ100になりますURLを開いたときの%urlが大きすぎる場合、urllibフリーズ!

どのような解決策ですか? 私はチャンク内のURLを開くことができ、おそらくはそこにtime.sleep(0.5)を持つことができますので、フリーズしませんか? これは私のコードです:あなたは、あなたのUIスレッドがダウンロードスレッドが個別に作業を行いながら作業を続けて、別のスレッドにダウンロードを分割したい

f = open("hello.txt",'wb') 
datatowrite = urllib.urlopen(link).read() 
f.write(datatowrite) 
f.close() 

おかげ

+0

私たちはここでどのくらい大きな話をしていますか? – Shog9

+0

最大10-20 mg – nmnm

+0

Ah。これは、ダウンロード中にUIをロックしたくないという問題です。私はそれが*最終的に*そのサイズのダウンロードを完了したと仮定...?非同期ダウンロードが必要なように聞こえます。 – Shog9

答えて

1

。そうすれば、ダウンロードが行われている間は "フリーズ"しないでください。

ここスレッディングについて詳しく読む:

http://docs.python.org/library/threading.html

また、あなたはカールやwgetのを使ってPythonの外部でファイルをダウンロードするためにシステムを使用することができます。

関連する問題