当前位置: 首页 > 知识库问答 >
问题:

是否可以在python中的try块中添加超时

盛浩阔
2023-03-14

我正在尝试使用python wget下载URL,下载地址为:https://pypi.python.org/pypi/wget

这个包不支持超时选项,因此查询失败大约需要一些时间(大约10秒)。是否可以在try块中添加超时以减少函数的等待时间。

大概是这样的:

try(timeout=5s):
     wget.download(URL)
except:
    print "Query timed out"

共有1个答案

孟乐
2023-03-14

最简单的方法(例如,如果下载不支持超时,并且您不能修改代码)是通过在另一个线程中运行代码来实现:

from threading import Thread

t = Thread(target=wget.download, args=(URL,))
t.daemon = True
t.start()
t.join(5)
if t.is_alive():
    print 'Timeout'
 类似资料:
  • 问题内容: 过去,已经进行了许多尝试以在Python中添加超时功能,以便在指定的时间限制到期时,等待的代码可以继续运行。不幸的是,以前的配方要么允许正在运行的功能继续运行并消耗资源,要么使用特定于平台的线程终止方法终止该功能。该Wiki的目的是针对这个问题开发跨平台的答案,许多程序员必须针对各种编程项目解决该问题。 编辑: 这段代码是为Python 3.x编写的,并非为装饰类方法而设计。该模块并非

  • 我有一个方法,它使用< code>java.util.Date和< code>java.util.Calendar对象为我提供时区的当前时间,我的一个同事建议添加try catch with < code > Exception e to catch。但是当我在google上搜索这些类的内置方法抛出的异常时,我没有发现任何异常。 我还需要用try和catch来包装代码吗???块是否需要try-ca

  • 问题内容: 我不必太麻烦mailto链接。但是,如果可能,我现在需要在mailto正文中添加一个链接。 有没有一种方法可以添加链接或将打开的电子邮件更改为HTML电子邮件还是文本电子邮件? 就像是: 问题答案: RFC 2368的)第2节说该字段应采用格式,因此您不能使用HTML。 但是,即使您使用纯文本,某些现代邮件客户端也可能仍然将URL呈现为可点击的链接。

  • 本文向大家介绍我们可以在Java中的另一个try catch块中声明一个try catch块吗?,包括了我们可以在Java中的另一个try catch块中声明一个try catch块吗?的使用技巧和注意事项,需要的朋友参考一下 是的,我们可以 在另一个try-catch块中声明一个try-catch块,这称为嵌套try-catch块。 嵌套的尝试捕获块 如果一个内部的try statemen牛逼没

  • 本文向大家介绍一个try块在Java中可以有多个catch块吗?,包括了一个try块在Java中可以有多个catch块吗?的使用技巧和注意事项,需要的朋友参考一下 是的,单个try块可以有多个catch块。 示例 以下Java程序包含一个数字数组(显示)。从用户那里,它接受此数组中的两个位置,然后将第一个位置的数字除以第二个位置的数字。 输入值时- 如果选择的位置不在显示的数组中,则抛出Array

  • 现在我需要将一个结果按一些字段分组。 如何将count和groupBy添加到规范中的问题?或者,也许我需要创建一个谓词,在其中定义这个count和groupBy(不知何故),并为此制定一个规范?做这件事的更好的方法是什么? 更新#0 我尝试使用multiselect,但它还是选择了所有列。 如果我使用来定义要选择的列,它就可以工作,但是我需要它使用criteries API/specificati