我如何 运行 python 在某个时间戳时间运行。没有外部软件?
How do i run a python function at a certain timestamp time. Without outside software?
我想告诉 python 脚本在某个时间戳时间发生时 运行 某个函数
我已经在寻找 运行宁时间特定的功能
但我找不到任何可以回答这个具体问题的东西
计算时间戳
#input is number of days till due date
dueDate = int(input('Days until it is due: '))
#86400 seconds in a day
days = dueDate * 86400
#gets current time stamp time
currentT = int(time.time())
#gets the timestamp for due date
alarm = days+currentT
目的是找到 python 函数,该函数可以 运行 在指定的未来时间戳发生时脚本中的另一个函数
你可以让脚本休眠那么久。
time.sleep(alarm)
来源:python docs
构建到 python 中的是 sched
模块。 Here is a pretty good write-up on it, and here 是官方文档。使用 scheduler.enter
您可以安排延迟,使用 scheduler.enterabs
您可以安排特定时间。
import sched
import time
scheduler = sched.scheduler(time.time, time.sleep)
def print_event(name):
print('EVENT:', time.time(), name)
now = time.time()
print('START:', now)
scheduler.enterabs(now+2, 2, print_event, ('first',))
scheduler.enterabs(now+5, 1, print_event, ('second',))
scheduler.run()
输出:
START: 1287924871.34
EVENT: 1287924873.34 first
EVENT: 1287924874.34 second
Schedule 是一个很好的 python 模块。
用法:(来自文档)
安装
$ pip install schedule
用法
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)
while True:
schedule.run_pending()
time.sleep(1)
我想告诉 python 脚本在某个时间戳时间发生时 运行 某个函数
我已经在寻找 运行宁时间特定的功能 但我找不到任何可以回答这个具体问题的东西 计算时间戳
#input is number of days till due date
dueDate = int(input('Days until it is due: '))
#86400 seconds in a day
days = dueDate * 86400
#gets current time stamp time
currentT = int(time.time())
#gets the timestamp for due date
alarm = days+currentT
目的是找到 python 函数,该函数可以 运行 在指定的未来时间戳发生时脚本中的另一个函数
你可以让脚本休眠那么久。
time.sleep(alarm)
来源:python docs
构建到 python 中的是 sched
模块。 Here is a pretty good write-up on it, and here 是官方文档。使用 scheduler.enter
您可以安排延迟,使用 scheduler.enterabs
您可以安排特定时间。
import sched
import time
scheduler = sched.scheduler(time.time, time.sleep)
def print_event(name):
print('EVENT:', time.time(), name)
now = time.time()
print('START:', now)
scheduler.enterabs(now+2, 2, print_event, ('first',))
scheduler.enterabs(now+5, 1, print_event, ('second',))
scheduler.run()
输出:
START: 1287924871.34
EVENT: 1287924873.34 first
EVENT: 1287924874.34 second
Schedule 是一个很好的 python 模块。
用法:(来自文档)
安装
$ pip install schedule
用法
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)
while True:
schedule.run_pending()
time.sleep(1)