通过urllib.urlretrieve方法下载文件非常方便,但是如果中间出现网络中断的情况,urlretrieve函数会一直在那下载,实际上什么也没下载下来,导致整个程序锁死,所以最好给它设置一个超时(timeout)时间,这个函数本身没有实现超时的功能,所以只能设置全局的socket超时,我们可以在调用urllib.urlretrieve之前设置一个默认的超时时间,比如30秒
import socket socket.setdefaulttimeout(30) urllib.urlretrieve(url,saveFile)