我希望我的代码支持 python >= 2.5 代码使用 urllib,如下所示:
handle = urllib2.urlopen(req, timeout)
这适用于 python2.6 和 python2.7 但 python2.5 不支持显式超时,因此我们必须为套接字设置默认超时,如下所示:
import socket
socket.setdefaulttimeout(timeout)
handle = urllib2.urlopen(req)
虽然这适用于更高版本的 python(2.6 和 2.7),但我想在支持的地方明确设置超时。我的问题是如何优雅地做到这一点?我应该做版本检查吗?