Python中如何在一段时间后停止程序

Python中如何在一段时间后停止程序,第1张

用到threading的Timer,也类似单片机那样子,在中断程序中再重置定时器,设置中断,python实例代码如下:

import threading

import time

def change_user():

  print('这是中断,切换账号')

  t = threadingTimer(3, change_user)

  tstart()

#每过3秒切换一次账号

t = threadingTimer(3, change_user)

tstart()

while True:

  print('我在爬数据')

  timesleep(1)

扩展资料

有时当一个条件成立的情况下,需要终止程序,可以使用sysexit()退出程序。sysexit()会引发一个异常

1、如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行。

2、如果这个异常被捕获(tryexceptfinally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行。

注:0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。另一种终止程序的方法os_exit()

一般情况下使用sysexit()即可,一般在fork出来的子进程中使用os_exit()

采用sysexit(0)正常终止程序,程序终止后shell运行不受影响。

采用os_exit(0)关闭整个shell,调用sys_exit(0)后整个shell都重启了(RESTART Shell)。

程序一定会运行到clean()函数,但是,如果你代码写的多,你就应该知道,滥用tryexcept会让你非常痛苦。例如它突然给你打印一个运行异常: 1。你根本不知道是哪里出了问题,也不知道具体出了什么问题。为了找到问题,你必须让程序把错误爆出来。但这样一来,clean()又不能正常运行了。Python退出时强制运行一段代码

有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢

这个时候,我们就可以使用Python自带的atexit这个模块了。它的使用方法非常简单:

import atexit

@atexitregister

def clean():

 print('清理环境相关的代码')

setup()

test()

这样一来,我们不需要显式调用clean函数了。无论程序正常结束,还是程序异常报错,clean函数里面的内容总会执行。

CTRL + C 快捷键 (中断正在执行的循环)

IDLE上面的“x” (退出程序)

任务管理器---进程---找到IDLE的进程结束 (退出程序)

关闭:quit()或exit()或者快捷键Ctrl+d。

python退出程序的方式有两种:os_exit(),sysexit()。

随着Python生态系统的不断发展壮大,业界出现了许多代码库、框架、以及编译器,可用来加速Python,克服其应用限制,甚至能够将Python与其他编程语言(如:Java、C、C++、JavaScript等)协同使用。

一般来说,多线程模式下,建议主线程只处理线程本身的调度,不去处理具体业务。通常在创建线程后,join等待所有线程退出。

就题主的问题,可以创建线程一、二之后,主线程等待线程一退出,之后用sysexit退出。

但是,线程二死循环的做法不是好习惯,用系统退出的方式,很可能造成循环内部的事务中断,建议改成条件循环,检查某个对象的数据,满足后退出循环。

这样,可以在主线程等待线程一、线程二退出,保证事务完整性。

以上就是关于Python中如何在一段时间后停止程序全部的内容,包括:Python中如何在一段时间后停止程序、如何在Python程序退出的时候,强制运行一些命令呢、python执行到这里怎么退出当前指令啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10105594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存