python timeout(设置函数超时退出)

2023-11-06

最近碰到一个场景

用opencv链接网络摄像头,但是摄像头的地址不一定是正确的,或者是打开的,当错误的时候会直接报错,但是当地址正确却没有打开,或者网络限制的时候,会等上半天才返回,并且不报错

???,这哪里行,我都用pthon了,还能不知道人生苦短嘛~
于是一顿操作猛如虎~好吧,多线程、信号量、巴拉巴拉,算了,还是问问度娘

然后看到了这个文章
https://www.cnblogs.com/sunshine-blog/p/12024820.html

在这里插入图片描述
哇,这个页面很简单,是我喜欢的类型,果断一试~
(代码给大家贴出来~姑且一试)

import time
import timeout_decorator


@timeout_decorator.timeout(6)
def test():
    time.sleep(5)
    return 5


aaa = test()
print(aaa)

然鹅,理想是美好的,现实是骨感的。

报错信息

AttributeError: module 'signal' has no attribute 'SIGALRM'

在这里插入图片描述
罢了,老夫再找找
(此方法留下,以后linux中用)

终于(其实也就看了两三个文章)让我找到一个一样简单的(还有好几个方法,我用那几个方法证明了我的懒~)

文章地址:https://zhuanlan.zhihu.com/p/39743129

代码如下:

import time
from func_timeout import func_set_timeout

@func_set_timeout(3)
def task():
    while True:
        print('hello world')
        time.sleep(1)

if __name__ == '__main__':
    task()

运行结果如下
在这里插入图片描述
奈斯~ 是我想要的结果~

最后调用摄像头代码如下

import cv2
from func_timeout import func_set_timeout

@func_set_timeout(5)
def click_camera(in_url):
    cap = cv2.VideoCapture(in_url)
    return cap
in_url = input('camera_path:')
cap = click_camera(in_url)

ok
搞定~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python timeout(设置函数超时退出) 的相关文章

  • 【Docker】存储卷Volume

    Docker Volume概念 什么是存储卷 存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立绑定关系 这就意味着 当我们在容器中的这个目录下写入数据时 容器会将其内容直接写入到宿主机上与此容器建立了
  • 修改window本地hosts文件,修改域名指向

    Hosts是一个没有扩展名的系统文件 可以用记事本等工具打开 其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联 数据库 当用户在浏览器中输入一个需要登录的网址时 系统会首先自动从Hosts文件中寻找对应的IP地址 一旦找到 系统
  • Centos制作自己的ISO,可定制软件包

    1 目标 gt gt 基于CentOS 6 10 x86 64 minimal iso进行定制 选它是因为包比较小 gt gt 以text方式安装 安装过程尽量无需用户参与 gt gt 固定root密码 并创建好内置用户与权限 gt gt
  • npm报错

    目录 一 问题 404 Not Found GET https registry npmjs org Not found 二 问题 yarn 无法加载文件 C Users AppData Roaming npm yarn ps1 因为在此系
  • 软件测试慕课版学习总结—第一章

    第一章 软件测试基础 1 什么是软件测试 软件测试发现一个应用从开始到结束时的错误 测试是一个过程 Glenford J Myers 提出对软件测试的定义 测试是发现错误而执行的一个程序或系统的过程 测试以发现故障为目的 是为了发现故障而执
  • 前端系列之JavaScript(函数)

    函数的作用 通过函数可以封装任意多条语句 而且可以在任何地方 任何时候调用执行 函数的定义 函数使用function声明 后跟一组参数以及函数体 语法如下 function functionName arg0 arg1 argn state
  • 输出QQ好友信息

    include
  • 同旺科技USB to I2C 适配器烧写 Arduino 模块

    所需设备 内附链接 1 同旺科技USB to I2C 适配器 2 Arduino 模块 硬件连接 用同旺科技USB to I2C 适配器连接芯片的TX RX GND 打开Arduino IDE编辑工具 点击 上传 按钮 完成程序的编译和烧录
  • Selenium RemoteWebDriver 利用CDP修改User-Agent

    地球人都知道 如果使用selenium时要修改user agent可以在启动浏览器时添加配置项 如chromeOptions addArguments user agent xxx 但是如何在每次请求的时候动态更改user agent呢 经
  • 计算机成下一个土木了吗?

    前些年抓住了互联网行业的红利期 进入大厂的员工 基本可以实现在一线城市买房扎根 但反观现在 被毕业 逃离互联网 躺平算了 却成了这个行业的主旋律 不少人在谈论润到国企和外企去了 也放低了对工资的预期 转而追求稳定和平衡 互联网行业真的不行了
  • YOLOv3(Pytorch版本和Tensorflow版本)学习

    一 地址来源 YOLOv4最全复现代码合集 含PyTorch TF Keras和Caffe等 二 Pytorch版本 地址 https github com Tianxiaomo pytorch YOLOv4 这个地址支持训练 Requir
  • 记一个正式的shell 2进制文件编辑方法。

    鉴于shell本身能力有限 不能用重定向的方法来实现较为正式的2进制文件修改 google无果 下面的实现还是比较满意的 1 printf或者echo n e来打印需要的内容到文件 2 dd插入内容 比如想在一个文件a bin的0x300位
  • 太阳能板如何串联_一步步教你搭建属于你自己的太阳能系统

    太阳能板种类 单晶硅太阳能板 单晶硅太阳能板的光电转换效率为15 左右 最高的达到24 这是所有种类的太阳能板中光电转换效率最高的 但制作成本很大 以致于它还不能被大量广泛和普遍地使用 由于单晶硅一般采用钢化玻璃以及防水树脂进行封装 因此其
  • springboot 自定义异常

    1 创建一个自定义异常类ManualException java 自定义异常类 author cf public class ManualException extends RuntimeException 错误代码 private Int
  • 未来10年互联网的十大发展趋势

    Written by Richard MacManus 刘明君译 我们已经现在进入被称为web 2 0的网络时代 这个阶段互联网的特征包括搜索 社区化网络 网络媒体 音乐 视频等 内容聚合和聚集 RSS mashups 一种交互式Web 应
  • dataloader的长度

    数据集 batchsize 比如数据集共有10582张图片 batchsize设为26 那么 len dataloader 10582 26 407

随机推荐

  • linux重启mysql服务_Linux怎么重启MySQL

    Linux怎么重启MySQL 从程序安装包安装的Mysql 在系统中没有红帽常用的servcie mysqld restart这个脚本 因此重启MYSQL数据库 只好手工重启 直接执行Killall mysql 强制终止的话 将可能造成表的
  • 虚拟数字人chatGPT结合?时代大革新?

    随着人工智能技术的快速发展 虚拟数字人和聊天机器人ChatGPT成为了越来越多人们日常生活中的重要伙伴 虚拟数字人可以陪伴人们聊天 解答问题 执行一些简单的任务 而ChatGPT则是一款领先的人工智能聊天机器人 具备强大的自然语言处理能力
  • 为WinDbg设置符号文件路径

    WinDbg可以通过加载Symbol文件 pdb 即时的调试程序 WinDbg如何找到相应的符号文件呢 WinDbg首先在 exe或者 dll所在目录下寻找同名的 pdb文件 如果找不到 WinDbg在Symbol File Path中查找
  • npm报错:A complete log of this run can be fund in: C\Users\用户\AppData\Roaming\npm-cache_logs\解决方案

    因项目中安装模块 多次不成功 所以导致报错 A complete log of this run can be fund in C Users 用户 AppData Roaming npm cache logs 2018 9 24T10 5
  • 《动手学深度学习 Pytorch版》 2.3 线性代数

    2 3 1 标量 import torch 标量由只有一个元素的张量表示 可进行熟悉的算数运算 x torch tensor 3 0 y torch tensor 2 0 x y x y x y x y x y tensor 3 tenso
  • scrapy 环境搭建

    在win7环境下 以window7 64bit安装为例子 1 下载python2 7环境 用浏览器打开https www python org downloads 然后选择所对应的版本 这里选择2 7 11 下载完成之后安装 在安装界面的时
  • twitter 分享链接_链接您的Twitter Feed

    twitter 分享链接 click here 请单击此处 So you want to display your Twitter status on your blog No problem use the API But what if
  • * 引领华为:任正非的七大领导力启示

    中国有诗云 江山代有才人出 各领风骚数百年 的确 任正非制定了最为有效的战略 让华为成长为一家全球领先的企业 这证明了他的巨大影响力和远见卓识 在本文里 大卫 德克莱默和田涛探讨了帮助华为取得巨大成功的七大领导力启示 中欧关系源远流长 自中
  • c语言中错误c2084,错误_C2084_函数“int multi(int)”已有主体

    file1 c中的程序 int multi int a return a a 文件file2 c中的程序 include file1 c int squsum int pt int i 0 sum 0 for i 0 i lt 5 i su
  • Mybatis框架

    什么是Mybits 是一款优秀的持久层框架 他是支持制定SQL 存储过程以及高级映射 它避免了几乎所有JDBC代码和手动设置参数 以及获取结果集 是一种可以 使用XML或者注解来配置和映射 支持动态sql以及数据缓存 将结果映射成java的
  • 微信小程序返回弹出提示

    当用户进入页面 编辑后没有保存直接返回 这时需要给用户提示是否需要保存在返回 如果保存了 则不提示 主要用到 wx enableAlertBeforeUnload Object object 开启小程序页面返回询问对话框 wx disabl
  • sql中的if else 的一个小陷阱

    今天遇到一个特别奇葩的问题 一个存储过程 SP MODI TPAYNOTICE ZHONGTAI 有如下代码 DECLARE V USER ID INT IF V USER ID 5 BEGIN 同步修改事物正文 EXEC V RET SP
  • 路由查找之Radix Tree

    什么是Radix Tree 在计算机科学中 基数树 或称Patricia trie tree 或crit bit tree 压缩前缀树 是一种更节省空间的Trie 前缀树 对于基数树的每个节点 如果该节点是唯一的子树的话 就和父节点合并 g
  • 【小白CV教程】YOLOv5+Deepsort实现车辆行人的检测、追踪和计数

    小白CV教程 YOLOv5 Deepsort实现车辆行人的检测 追踪和计数 本文禁止转载 项目简介 YOLOv5检测器 DeepSort追踪器 运行demo 训练自己的模型 调用接口 创建检测器 调用检测接口 联系作者 关注我的公众号 本文
  • 【算法面试宝典】无重复字符的最长子串

    1 算法描述 给定一个字符串 s 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 s abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 s bbbbb 输出 1 解释 因
  • 用mysql存储过程求从1+2+3....+99+100...+n的值

    注意 加法从0开始 乘从1开始 代码如下 reate student returns begin begin decalre sum begin declare I int set sum 0 set I 1 while I lt N do
  • 修复python2 pip_如何使用Python 2和pip修复MD5 ImportError

    修复python2 pip Recently when trying to run a Python script on my Mac I faced an import error for a specific Python module
  • 一文掌握步进电机控制

    前言 今天讲讲步进电机的控制原理 之前因为项目需要用到步进电机 这次对步进电机的相关知识做介绍 以及我个人的理解 并附上驱动源码 一 什么是步进电机 步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机 每输入一个脉冲信号 转子就转动
  • CHATGPT有中文在线版本

    CHATGPT是一个在线的聊天机器人 它可以回答你的问题 提供信息和进行一些简单的对话 下面是使用CHATGPT的步骤 1 打开网站 进入CHATGPT的中文版官方网站 https chatgpt com zh cn 2 输入问题 在对话框
  • python timeout(设置函数超时退出)

    最近碰到一个场景 用opencv链接网络摄像头 但是摄像头的地址不一定是正确的 或者是打开的 当错误的时候会直接报错 但是当地址正确却没有打开 或者网络限制的时候 会等上半天才返回 并且不报错 这哪里行 我都用pthon了 还能不知道人生苦