处理urllib2的超时? - Python

2023-11-22

我在 urllib2 的 urlopen 中使用超时参数。

urllib2.urlopen('http://www.example.org', timeout=1)

我如何告诉Python,如果超时到期,应该引发自定义错误?


有任何想法吗?


您想要使用的情况很少except:。这样做可以捕获any异常,这可能很难调试,它捕获的异常包括SystemExit and KeyboardInterupt,这会让你的程序使用起来很烦人。

最简单的是,你会抓住urllib2.URLError:

try:
    urllib2.urlopen("http://example.com", timeout = 1)
except urllib2.URLError, e:
    raise MyException("There was an error: %r" % e)

以下内容应捕获连接超时时引发的特定错误:

import urllib2
import socket

class MyException(Exception):
    pass

try:
    urllib2.urlopen("http://example.com", timeout = 1)
except urllib2.URLError, e:
    # For Python 2.6
    if isinstance(e.reason, socket.timeout):
        raise MyException("There was an error: %r" % e)
    else:
        # reraise the original error
        raise
except socket.timeout, e:
    # For Python 2.7
    raise MyException("There was an error: %r" % e)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理urllib2的超时? - Python 的相关文章

  • 在 while 循环中更改 tkinter 画布中的图像

    我的完整代码是here https gist github com ItsBerry de245ba70376cb07f4dbe2d25c223f5f 我正在尝试使用 tkinter 的画布创建一个小游戏 让人们练习学习高音谱号上的音符 最
  • 如何在Python中获得更精确的十进制值[重复]

    这个问题在这里已经有答案了 from math import sqrt a 1e 8 b 10 c 1e 8 x1 b sqrt b 2 4 a c 2 a x2 b sqrt b 2 4 a c 2 a print x1 format x
  • 使用 Flask 从 Jinja 模板中的 settings.py 文件获取变量

    假设我有 settings py 文件 其中包含一堆常量 将来可能会更多 如何访问 Jinja 模板中的这些变量 Flask 会自动将您的应用程序的配置包含在标准上下文 http flask pocoo org docs templatin
  • Python(openpyxl):将数据从一个excel文件转移到另一个(模板文件)并用另一个名称保存,同时保留模板

    我有一个templateexcel 文件名为template xlsx其中有许多张 我想从单独的地方复制数据 csv文件到第一页template xlsx 命名为data 并将新文件另存为result xlsx同时保留原来的模板文件 我想粘
  • Pandas:根据其他多级列对最里面的列进行分组排序

    考虑下面的 df In 3771 df pd DataFrame A a 11 B b 11 C C1 C1 C2 C1 C3 C3 C2 C3 C3 C2 C2 D D1 D2 D1 D3 D3 D2 D4 D4 D1 D2 D3 E v
  • 检查字符串是否以 XXXX 开头

    我想知道如何在Python中检查字符串是否以 hello 开头 在 Bash 中我通常这样做 if string hello then do something here fi 我如何在Python中实现同样的效果 aString hell
  • Plotly - 不同颜色的表面

    我正在尝试在 Plotly for Python 中绘制多个曲面 每个曲面具有不同的颜色 具体来说 表面显示了在相空间中不同点采取行动的预测奖励函数 由于我在每个点都有多个可能的操作 因此每个点都是不同的表面 我想对每个表面进行独特的着色
  • 在OpenCV Python中编写4通道以上图像

    这对我来说是一个持续的挑战 我正在尝试使用 openCV 将两个 3 RGB 图像组合成一个 6 通道 TIFF 图像 到目前为止我的代码如下 import cv2 import numpy as np im1 cv2 imread im1
  • Altair 条形图具有可变宽度的条形?

    我正在尝试在 Python 中使用 Altair 制作条形图 其中条形的宽度根据源数据帧列中的数据而变化 最终目标是获得如下所示的图表 条形的高度对应于每种能源技术的边际成本 在源数据框中以列形式给出 条形宽度对应于每种能源技术的容量 也以
  • 如何使用 Tkinter 创建等宽网格列?

    如何强制 Tkinter 应用程序窗口中的列宽度相等 tkdocs网站声明如下 每列的宽度 或每行的高度 取决于列或行中包含的小部件的宽度或高度 这意味着当绘制用户界面并将其划分为行和列时 您无需担心每列或行的宽度相等 或高度 大概 TkD
  • 中断QThread睡眠

    我想知道如何暂停 QThread 然后在收到信号时恢复 我已阅读并知道我可以做这样的事情 def run self self ready False while not self ready self sleep 1 QtCore Slot
  • 仅打印字符串中的元音

    我是Python新手 我正在尝试打印字符串中的所有元音 因此 如果有人输入 嘿 一切都好吗 所有元音都需要打印 但我不知道怎么做 所以这不是计算元音 而是打印元音 现在我已经得到了这个 sentence input Enter your s
  • VS Code Pylance 不突出显示变量和模块

    我正在使用带有 Python 和 Pylance 扩展的 VS Code 我遇到的问题是 Pylance 扩展没有对模块和数据框等内容进行语法突出显示 我希望顶部的模块为绿色 df 变量为蓝色 我正在使用默认的深色 颜色主题 这是我的 VS
  • 如何下载和使用对象检测数据集(例如 coco 或 pascal)

    我对物体检测领域非常陌生 我想知道是否有人可以帮助我下载和使用对象检测数据集 例如 coco 或 pascal 当我下载数据集后访问他们的网站时 我觉得我不知道应该如何处理它们 我知道这个问题很愚蠢 但是开始的提示可能非常有用 谢谢 我正在
  • python 中的优化标准化

    在优化过程中 对输入参数进行归一化 使它们处于同一数量级 通常会很有帮助 这样收敛效果会更好 例如 如果我们想要最小化 f x 而合理的近似值是 x0 1e3 1e 4 则将 x0 0 和 x0 1 归一化到大约相同的数量级可能会有所帮助
  • Python:如何访问 Lotus Notes 8.5 Inbox 来阅读电子邮件

    我想用 python 创建一个脚本 从 Lotus Notes 8 5 读取电子邮件 然后在 jira 中为每封电子邮件创建一个问题 但当我尝试从 Lotus 读取邮件时 它会返回此错误 Traceback most recent call
  • 将glade接口放入python中

    我在 Glade 中制作了一个 gui 我想将其放入 python 程序中 我正在调整我在网上找到的教程中的说明 以将其加载到我的林间空地文件中 http www pygtk org articles pygtk glade gui Cre
  • 媒体文件上的 404 - Django

    昨晚我将项目上传到 pythonanywhere com 我想在那里测试我的项目生产设置 在我允许的模型之一中用户上传JPG 团队徽标 上传过程运行良好 文件位于我的 MEDIA ROOT 中 问题是 当我尝试在模板中访问它 以将其显示在页
  • 每次 apache 重新启动时,flask-login 会话都会被破坏

    我正在使用烧瓶登录https github com maxcountryman flask login https github com maxcountryman flask login和领域记住登录用户 http packages py
  • pylint:忽略 rcfile 中的多个

    在我的 django 项目中 我使用的是外部编写的应用程序 但编写得很糟糕 现在我想从我的 pylint 报告中忽略这个应用程序 但是我无法让 pylint 忽略它 Pylint 已经忽略了南方的迁移 如下所示 MASTER ignore

随机推荐