как установить значение тайм-аута для механизации python?
Как установить значение тайм-аута для механизации python?
- Как сигнализировать сигнал тревоги на python 2.4 через 0,5 секунды
- Использование подпроцесса модуля с тайм-аутом
- таймаут на подпроцессе readline в 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 для возврата нового списка
- Питонические способы использования «else» в цикле for