2011-07-03 34 views
1

确定即时尝试使用urllib打开一个url,但问题是该文件太大,所以当我打开url python冻结,即时通讯也使用wxpython,这也冻结当我打开url 我的CPU几乎100 %打开url时如果url太大,urllib会冻结!

任何解决方案? 有没有办法可以打开大块的URL,也许有一个time.sleep(0.5)在那里,所以它不冻结? 这是我的代码:

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

感谢

+0

我们在这里说的有多大...? – Shog9

+0

最大10-20毫克 – nmnm

+0

啊。所以这只是一个不想在下载过程中锁定用户界面的问题?我认为它完成了这个大小的下载*最终* ...?听起来像你想异步下载。 – Shog9

回答

1

你想下载分割成一个单独的线程,所以你的UI线程继续,同时下载线程单独做的工作工作。这样你就不会在下载发生时得到“冻结”。

了解更多关于线程在这里:

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

或者,您可以使用该系统来下载文件使用卷曲或wget的蟒蛇之外。

相关问题