私のコードは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)で正常に機能しますが、サポートされている場所でタイムアウトを明示的に設定したいと思います。私の質問は、これをエレガントに行う方法ですか?バージョンチェックを行う必要がありますか?