как установить значение тайм-аута для механизации python?

Как установить значение тайм-аута для механизации python?

    Алекс прав: mechanize.urlopen принимает аргумент timeout . Поэтому просто вставьте несколько секунд в с плавающей запятой : mechanize.urlopen('http://url/', timeout=30.0) .

    Фон, из источника mechanize.urlopen :

     def urlopen(url, data=None, timeout=_sockettimeout._GLOBAL_DEFAULT_TIMEOUT): ... return _opener.open(url, data, timeout) 

    Что такое mechanize._sockettimeout._GLOBAL_DEFAULT_TIMEOUT , спросите вы? Это всего лишь настройка модуля socket .

     import socket try: _GLOBAL_DEFAULT_TIMEOUT = socket._GLOBAL_DEFAULT_TIMEOUT except AttributeError: _GLOBAL_DEFAULT_TIMEOUT = object() 

    Если вы используете Python 2.6 или выше и, соответственно, обновленную версию mechanize , mechanize.urlopen должен принять необязательный аргумент timeout=... который, кажется, является тем, что вы ищете.

    Я верю в то, что

     mechanize._sockettimeout._GLOBAL_DEFAULT_TIMEOUT = 100 

    будет отменять значение по умолчанию, используемое механизмом.