当前位置:首页 > 数码 > Python-最全定时器详解 (python编程)

Python-最全定时器详解 (python编程)

admin7个月前 (05-06)数码45

1、系统级定时器Crontab

Crontab是一个用于在和类Unix系统上口头活期义务的工具。它经常使用一种称为Cron表白式的格局来定义义务的口头时期。

Cron表白式由5个字段组成,每个字段代表了义务口头的时期和频率。这些字段区分是:

字段之间用空格或制表符分隔。除了数字外,你还可以在字段中经常使用不凡字符来示意一些特定含意,例如*示意婚配恣意值,/示意固定距离,,示意枚举多个值,-示意范围等。

以下是一些经常出现的Cron表白式示例:

要经常使用Crontab,你可以经常使用crontab-e命令编辑以后用户的Crontab文件,而后依照Cron表白式的格局减少定时义务。每当Crontab文件出现变动时,定时义务会智能降级。

另外,你还可以经常使用crontab-l命令来列出以后用户的Crontab义务列表,以及经常使用crontab-r命令来删除一切的Crontab义务。

请留意,Cron表白式中的定时义务将在主机上以系统用户身份运转,并且须要确保你有口头义务所需的权限和门路设置。

2、Schedule定时调度库

Python

/target=_blankclass=infotextkey>Python的Schedule库是一个便捷易用的定时义务调度库,它提供了一种繁复的形式来布置和口头定时义务。上方我会对Schedule定时器启动具体解释。

上方是一个完整示例代码,展示了Schedule库的基本用法:

importscheduleimporttimedefjob():print("义务口头中...")schedule.every(10).seconds.do(job)#每10秒口头一次性job函数whileTrue:schedule.run_pending()time.sleep(1)

上述代码创立了一个每10秒口头一次性的定时义务,义务函数为job()。在主程序中,咱们经常使用schedule.run_pending()来审核并口头义务,并经过time.sleep(1)让程序每秒钟审核一次性义务。

这就是Python的Schedule库的基本经常使用方法。你可以依据自己的需求,灵敏地设置不同的定时义务。同时,Schedule库还允许多种初级性能,吉祥外处置、敞开义务、耐久化存储等,可以依据须要启动裁减和深入学习。

3、APScheduler库:

fromapscheduler.schedulers.backgroundimportBackgroundSchedulerdefjob():print("义务口头中...")scheduler=BackgroundScheduler()scheduler.add_job(job,'interval',seconds=10)#每10秒口头一次性job函数scheduler.start()

4、Time定时库:

importtimedefjob():print("义务口头中...")whileTrue:job()time.sleep(10)#每10秒口头一次性job函数

5、Threading.Timer定库

importthreadingdefjob():print("义务口头中...")defrun_timer():t=threading.Timer(10,job)#每10秒口头一次性job函数t.start()run_timer()

6、Celery定时库:

fromceleryimportCeleryapp=Celery('your_app_name',)app.conf.beat_schedule={'job':{'task':'your_task_function','schedule':10,#每10秒口头一次性},}if__name__=='__mn__':app.start()

这是经常使用Celery的示例性能文件,其中your_app_name是你的运行称号,your_task_function是你的义务函数。在性能中,咱们设置了一个名为job的定时义务,每10秒口头一次性。

这些是Python中罕用的定时器库的具体引见和示例代码。依据你的需求选用适合的库来成功定时性能。每个库都有其自己的特点和用法


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

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

import threading

import time

def change_user():

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

t = (3, change_user)

#每过3秒切换一次账号

t = (3, change_user)

while True:

print(我在爬数据)

扩展资料

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

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

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

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

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

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

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

python每隔N秒运行指定函数的方法

python每隔N秒运行指定函数的方法这篇文章主要介绍了python每隔N秒运行指定函数的方法,涉及Python的线程与时间操作技巧,非常具有实用价值,需要的朋友可以参考下这是一个类似定时器的效果,每隔指定的秒数运行指定的函数,采用线程实现,代码简单实用。 代码如下:import osimport timedef print_ts(message):print [%s] %s%((%Y-%m-%d %H:%M:%S, ()), message)def run(interval, command):print_ts(-*100)print_ts(Command %s%command)print_ts(Starting every %s seconds.%interval)print_ts(-*100)while True:try:# sleep for the remaining seconds of intervaltime_remaining = ()%intervalprint_ts(Sleeping until %s (%s seconds)...%(((()+time_remaining)), time_remaining))(time_remaining)print_ts(Starting command.)# execute the commandstatus = (command)print_ts(-*100)print_ts(Command status = %s.%status)except Exception, e:print eif __name__==__main__:interval = 5command = ripconfigrun(interval, command)希望本文所述对大家的Python程序设计有所帮助。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: python

“Python-最全定时器详解 (python编程)” 的相关文章

Python 将你的数据处理效率提升到新高度 超强 技巧 使用 Pandas (python编程)

Python 将你的数据处理效率提升到新高度 超强 技巧 使用 Pandas (python编程)

pandas最为/target=_blankclass=infotextkey>Python数据分析领域的扛把子。 优秀且强大的功能,基本可以满足任何想要实现的需求。 但是,大...

深入了解Python模块中的强大功能-使用PyExecJS执行JavaScript代码 (深入了解皮肤的性质)

深入了解Python模块中的强大功能-使用PyExecJS执行JavaScript代码 (深入了解皮肤的性质)

PyExecJS is a powerful Python module that bridges the gap between Python and the realm of JavaScri...

库大盘点-100-Python-数据剖析畛域的制胜法宝 (库内盘点)

库大盘点-100-Python-数据剖析畛域的制胜法宝 (库内盘点)

数据处置与剖析 一个具备图形用户界面的惊人库,可简化数据操作和可视化性能 Polars是一个开源且相对较新的数据剖析和处置库,为宽泛盛行的Pandas库提供了代替打算。 PyGW...