如何在 Python 脚本中设置到 运行 的时间
How can I set up the time to run in Python Script
我正在尝试 运行 我的 python 脚本在特定时间 运行。
例如,我不希望它在凌晨 12 点到凌晨 3 点运行。
所以它只会 运行 凌晨 3 点到晚上 11 点,然后睡 3 个小时,然后在凌晨 3 点后再次 运行。
如果 PID 到达凌晨 12 点 运行 秒,我不想终止它。如果时间在凌晨 12 点到凌晨 3 点之间,我希望它完成并进入睡眠状态。
用于 Shell 脚本:
while true
do
curr_time=`date +"%H%M%S"`
if [ $curr_time -ge 235000 -a $curr_time -le 030000 ]
then
sleep 12000
#Going to check time before 12AM so that it can stop before 12
#Sleep for little more than 3hours since it might stop before 3AM
else
break;
fi
done`
但主要问题是..我想不出在 python 中执行此操作的方法。
还有,有没有办法设置睡眠时间凌晨3点自动起床?而不是我设置它应该睡多久?
您可以在 python 中使用包 APScheduler or build-in sched。
理想情况下,您应该使用现有的调度程序,但如果您必须自己睡觉,datetime
模块使它变得相当简单:
import datetime
while 1:
now = datetime.datetime.now()
if now.hour < 3:
at_3 = datetime.datetime.combine(datetime.date.today(),
datetime.time(3))
to_sleep = (at_3 - now).seconds
time.sleep(to_sleep)
# do the work ...
我正在尝试 运行 我的 python 脚本在特定时间 运行。
例如,我不希望它在凌晨 12 点到凌晨 3 点运行。 所以它只会 运行 凌晨 3 点到晚上 11 点,然后睡 3 个小时,然后在凌晨 3 点后再次 运行。
如果 PID 到达凌晨 12 点 运行 秒,我不想终止它。如果时间在凌晨 12 点到凌晨 3 点之间,我希望它完成并进入睡眠状态。
用于 Shell 脚本:
while true
do
curr_time=`date +"%H%M%S"`
if [ $curr_time -ge 235000 -a $curr_time -le 030000 ]
then
sleep 12000
#Going to check time before 12AM so that it can stop before 12
#Sleep for little more than 3hours since it might stop before 3AM
else
break;
fi
done`
但主要问题是..我想不出在 python 中执行此操作的方法。 还有,有没有办法设置睡眠时间凌晨3点自动起床?而不是我设置它应该睡多久?
您可以在 python 中使用包 APScheduler or build-in sched。
理想情况下,您应该使用现有的调度程序,但如果您必须自己睡觉,datetime
模块使它变得相当简单:
import datetime
while 1:
now = datetime.datetime.now()
if now.hour < 3:
at_3 = datetime.datetime.combine(datetime.date.today(),
datetime.time(3))
to_sleep = (at_3 - now).seconds
time.sleep(to_sleep)
# do the work ...