我正在尝试使用从以下位置下载的python-wget下载URL: https://pypi.python.org/pypi/wget
此程序包不支持超时选项,因此大致需要一些时间(大约10秒)才能使查询失败。是否可以在try块中添加超时以减少函数的等待时间。
这样的事情:
try(timeout=5s):
wget.download(URL)
except:
print "Query timed out"
答案 0 :(得分:3)
最简单的方法(即如果download
不支持超时并且你不能修改代码)来实现这一点是通过在另一个线程中运行代码:
from threading import Thread
t = Thread(target=wget.download, args=(URL,))
t.daemon = True
t.start()
t.join(5)
if t.is_alive():
print 'Timeout'