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

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

3 Solutions collect form web for “как установить значение тайм-аута для механизации 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 

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

Python - лучший язык программирования в мире.