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

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

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

import threading

import time

def change_user():

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

  t = threading.Timer(3, change_user)

  t.start()

#每过3秒切换一次账号

t = threading.Timer(3, change_user)

t.start()

while True:

  print('我在爬数据')

  time.sleep(1)

扩展资料

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

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

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

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

一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()

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

采用os._exit(0)关闭整个shell,调用sys._exit(0)后整个shell都重启了(RESTART Shell)。

quit()   exit()

执行到此命令时,程序终止。

如果是程序陷入死循环,想强制结束,则按Ctrl + C。这个特别关键。

Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。

在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。

扩展质料:

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大。

而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是.pyc格式。

除此之外,Python还可以以交互模式运行,比如主流 *** 作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达 *** 作指令即可实现交互 *** 作。

参考资料:Python-百度百科

方法1:采用sys.exit(0),正常终止程序,从图中可以看到,程序终止后shell运行不受影响。

相关推荐:《Python教程》

方法2:采用os._exit(0)关闭整个shell,从图中看到,调用sys._exit(0)后整个shell都重启了(RESTART Shell)。

方法3:采用Ctrl+C快捷键,强制终止程序执行,可以看到,程序由“KeyboardInterrupt”(键盘中断)终止了,且不影响shell继续执行。

方法4:最简单粗暴的终止程序方法莫过于点击shell右上角的“x”,整个shell都终止了,程序果断也终止!


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

原文地址: http://outofmemory.cn/yw/7850769.html

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

发表评论

登录后才能评论

评论列表(0条)

保存