PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
retrieve如何设timeout并重试?
楼主:
yodxxxd
(yodxxxd)
2015-12-29 12:08:21
我在写一支程式
它会使用urllib.URLopener()开启档案连结,并使用retrieve函式将档案储存
但有时候可能是目标server的问题,执行到retrieve的时候会整个卡住,且程式不会停止
因为档案只有几十KB而已,所以时间上应该都不会超过10秒
想说可以给retrieve设个timeout,假设10秒,若超过10秒就自动重试
请问有办法做到吗?谢谢
作者:
kenduest
(小州)
2015-12-29 12:53:00
用 requests , requests.get() 可传 timeout 方式看看urllib open 似乎也有 timeout, 不过整个不符合你需求抱歉回应没有回答到答案
作者: ocean5566 (煙大屌熟男)
2015-12-29 21:25:00
try .... except ....* 加上 while 若抓完了就break出去
作者:
kenduest
(小州)
2015-12-29 22:39:00
这个问题刚想到似乎得用 gevent 方式来解决才会简单
http://paste.ofcode.org/rWk2upz7ik9icYjUYQAEeJ
不过档案很小感觉一般不需要这种方案才对若档案很大,一般大多使用 requests 会搭配 stream=True然后iter_content() 方式指定chunk size 读进来处理
继续阅读
Fw: [情报] 2016 Taiwan CodeWars by HPE & HPI 第四届正式开跑
yuntin
[问题] python执行mssql的storedprocedures
superge
[问题] 网页资料撷取问题
ajsaak
[问题] 二维 list 排序
obelisk0114
Re: [问题] 如何强制使用 with statement
uranusjr
[问题] django移植到别的主机的问题
alair99
[问题] 安装goslate失败
allan80625
[问题] 如何强制使用 with statement
ResolaQQ
Re: [问题] 正规表达式可以用中文字吗?
uranusjr
[问题] mail hinet 寄信被阻挡
aaa7513231
Links
booklink
Contact Us: admin [ a t ] ucptt.com