python定时任务
❶ 如何用python写一个每分每时每天的定时程序
1.计算生日是星期几
当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~
比如girl friend 的生日假设是 gf_birthday='2017-3-3'
1).我们先把变量格式化成一个datetime对象
birthday=datetime.datetime.strptime(gf_birthday,'%Y-%m-%d')
2).然后利用datetime里面的函数weekday来得到一个下标
birthday.weekday()
3).构造一个weekdays的列表,根据下标从列表里面取出是周几
weekdays=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
weekdays[birthday.weekday()]
当然你要计算比如情人节,圣诞节什么的都可以用上面的程序,或者整个列表把10年的节日都罗列计算一下都是可以了,是不是很简单,对日期的理解有木有加深了一下下
2.定时任务
在Python里面,比如你想定期去爬一个网页,或者做运维的同学想每天12点去定时download一个文件,或者定时去扫描一些服务器,甚至老板的需求不停的变可能是,每隔5分钟,或者每小时的整点10分,每周每月都有一些定时任务
用Python怎么破很简单,下面这个程序轻松搞定
我们先从一个最简单的例子说,假设我们是每分种的第10秒,去执行一个任务去打印一下当前的目录
1).window下是dir命令,linux是ls
我们用platform这个模块来判断一下操作系统
import platform
os_platfrom=platform.platform()
if os_platfrom.startswith('Darwin'):
print'this is mac os system'
os.system('ls')
elif os_platfrom.startswith('Window'):
print'this is win system'
os.system('dir')
2).如何定时执行
a.我们先获取当前的时间
now=datetime.datetime.now()
假设当前时间是2017-02-09 20:19:47.555000
b.然后我们输入一个你要定时执行的target时间
比如你是x分10秒的时候执行sched_Timer=datetime.datetime(x,x,x,x,x,10)
前面的x是并不重要(只要最后是10秒就行了),我们就把目标时间设的比当前晚一点即可:
sched_Timer=datetime.datetime(2017,2,9,20,20,10)
c.好当时间到了20:20:10的时候要运行我们的程序
如何定时到了呢,很简单用
if now==sched_Timer:
'run Task'
d.那么如何让时间在下一分钟10秒继续执行呢,也很简单用timedelta()
datetime.timedelta(minutes=1)把target时间往后增加一分钟
sched_Timer=sched_Timer+datetime.timedelta(minutes=1)
然后外边用个while 死循环hold住就可以了
同样的这个代码也可以扩展,把minutes=1改成hours=1就变成了每个小时定时任务,改成days=1就变成每天的定时任务
❷ python如何实现线程定时任务
sleep就可以吧,把程序作为一个线程,启动线程,里面加个sleep,示例如下:
import threading
import time
class Test(threading.Thread):
def __init__(self):
pass
def test(self):
print 'run test!'
def run(self):
while True:
print time.strftime('%Y-%m-%d %H:%M:%S')
self.test()
time.sleep(5)
#test...
a=Test()
a.run()
#...test
❸ Python需要定时任务,时间是不固定的。需要处理的任务也不固定,怎么捉。
开个子线程,里面放下面的代码
while True:
dosomethings()# 查询任务列表,执行任务列表
time.sleep(60)
也就是每分钟检查一次,注意这个查询是要放到 子线程 处理的。
❹ 如何设置python脚本定时任务
:beginpython hello.pyTIMEOUT /T 10goto begin以上的10为时间单位s可以自定义
❺ python定时任务编码问题
这是因为字符集问题
如果你用的是 python2 ,而且在代码中用了中文,恭喜你踩坑了
这是 python2 比较常见的一个坑,专坑新手
根据实际应用,解决的方法也很不同
通用的解决方法:
不要在代码中用中文(回避问题)
改用 python3 (程序小的话还好说……)
调整好所有的编码设置(要是能弄明白,也不会卡在这里……)
好吧,其实就是没什么好办法,要具体情况具体解决……
最后,祝你好运
❻ 请问Python如何定时循环执行任务
程序功能:
指定一个或者同时多个固定的延迟(例如,5mins, 1hour,1 day, 1 week),程序按照这个指定的延迟定时循环执行某个work!
❼ python如何实现程序定时执行的功能
sleep就可以吧,把程序作为一个线程,启动线程,里面加个sleep,示例如下:
import threading
import time
class Test(threading.Thread):
def __init__(self):
pass
def test(self):
print 'run test!'
def run(self):
while True:
print time.strftime('%Y-%m-%d %H:%M:%S')
self.test()
time.sleep(5)
#test...
a=Test()
a.run()
#...test
❽ python 定时任务 用什么东西来实现
pycorn github.com/tornewuff/pycorn
❾ python定时任务不执行的原因
1.crond服务未启动 crontab不是Linux内核的功能,而是依赖一个c...
2.权限问题 比如:脚本没有x执行权限,解决方法: 增加执行权限,或者用bash abc....
3.路径问题 有的命令在shell中执行正常,但是在crontab执行却总是失败。有...
4.时差问题 因为服务器与客户端时差问题,所以crontab的时间以服务器时间为准。 ...
5.变量问题 有时候命令中含有变量,但crontab执行时却没有,也会造成执行失败。 ...