跟进,
With python: intervals at x:00 repeat
使用线程,我怎样才能让脚本从早上8点开始运行,并在下午5点停止运行
解决方案应该在python中编码,并且是可移植的
TIA
答案 0 :(得分:3)
time
模块有一个名为asctime
的函数,可能对您有用:
>>> from time import asctime
>>> asctime()
'Tue Sep 21 17:49:42 2010'
因此,您可以在代码中加入以下内容:
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
while hour < 8:
# just wait
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
# now, it's just become 8:00 AM
while hour < 17: # until 5:00 PM
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
# start your thread to do whatever needs to be done
启动此脚本一次,让它永远运行。
这是对@ user428862的问题的回应,询问是否可以使用“小时&gt; 8小时&lt; 17”运行。这就是为此目的需要调整代码的方法:
while 1:
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
minute = timestamp.split(separator)[1]
if (hour > 8) and (hour<17 and minute<1):
# start your thread to do whatever needs to be done
此外,我发现我一直在使用字符串拆分并返回字符串,因此hour
应为int(timestamp.split(separator)[0])
等等
答案 1 :(得分:2)
使用cron。如果在Windows上使用windows task scheduler。
答案 2 :(得分:0)
在cron中,你需要在早上8点开始运行脚本,并在下午5点停止运行 在linux中使用 crontab -e 命令。 并为
添加此行代码* 8 * * * /YOUR/PATH/SCRIPT
你在下午5点停止它,在这个例子中我们将在下午5点杀死所有python进程
* 17 * * * killall -9 /usr/bin/python
您可以使用 crontab -l </ strong>和 crontab -r 检查crontab以重置为默认值(不会执行任何命令)