一、使用time模块
time模块是Python标准库中用于时间操作的库,其中包含多个与时间相关的函数和方法。其中,time.time()方法可以返回当前时间的时间戳,即从1970年1月1日00:00:00开始到现在的秒数,精确到小数点后6位。
import time print(time.time())
输出:
1587970818.505151
而time.sleep()可以让程序等待一段指定的时间,单位为秒。例如下面的代码可以使程序暂停5秒。
import time time.sleep(5)
二、使用datetime模块
datetime是Python的一个时间操作库,可以处理日历、日期等时间相关的操作。datetime.datetime.now()方法可以返回当前时间,可以通过strftime()方法将时间转换为指定的格式。
import datetime now = datetime.datetime.now() print(now.strftime("%Y-%m-%d %H:%M:%S"))
输出:
2020-04-27 18:27:26
datetime.timedelta可以用于时间差(即两个时间之间的时间差)。下面的代码可以获取两个时间之间的差值并打印出来。
import datetime start_time = datetime.datetime.now() # 这里是要执行的代码 end_time = datetime.datetime.now() print(end_time - start_time)
三、使用sched模块
sched模块是Python中的一个事件调度器,可以用于实现定时任务。其中sched.scheduler类是事件调度器的核心,可以通过enter()方法将事件添加到事件队列中,再通过run()方法运行事件队列中的事件。例如下面的代码可以每3秒打印一次当前时间。
import datetime import sched import time def print_time(): print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) scheduler = sched.scheduler(time.time, time.sleep) while True: scheduler.enter(3, 0, print_time, ()) scheduler.run()
四、使用crontab命令
Crontab命令是Linux系统下的一个定时任务管理工具,可以在指定的时间点自动运行脚本等。可以通过Python的subprocess模块来调用Crontab命令。下面的代码可以在每周一到周五的早上9点运行一个Python脚本。
import subprocess cron_cmd = "echo '0 9 * * 1-5 python /path/to/script.py' | crontab -" subprocess.check_output(cron_cmd, shell=True)
总之,Python提供了多种实现精准时间控制的方法,更加方便我们在开发中进行时间操作。