当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~
比如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就变成每天的定时任务
sleep就可以吧,顷闭槐把程态饥序作为一个线雀友程,启动线程,里面加个sleep,示例如下:\x0d\x0aimport threading\x0d\x0aimport time\x0d\x0aclass Test(threading.Thread):\x0d\x0adef __init__(self):\x0d\x0apass\x0d\x0a\x0d\x0adef test(self):\x0d\x0aprint 'run test!'\x0d\x0a\x0d\x0adef run(self):\x0d\x0awhile True:\x0d\x0aprint time.strftime('%Y-%m-%d %H:%M:%S')\x0d\x0aself.test()\x0d\x0atime.sleep(5)\x0d\x0a#test...\x0d\x0aa=Test()\x0d\x0aa.run()\x0d\x0a#...test楼主最近写了一个简单的Python程序,想让这个小程序每天上午10点定时运行瞎手旅一次,因为我的电脑是Windows系统,无法使用Linux下强大的crontab命令,所以我只好求助于度娘。我搜到了好几个相关的网页,但是看完之后仍然不明白应该怎么做,最后经过多次推理和尝试才设置成功。我相信以后还会有人想要知道在Windows下怎么设置Python程序定时运行,因此把我的经验写在这里,希望能帮助到大家。为了照顾更多的朋友,下面我将每一步都截图并加以简单说明,如果觉得太啰嗦可以直接翻到后面看最关键的一步如何设置。
首先,我们肯定是要用到Windows下的【计划任务】功能(注:楼主的系统是Windows8.1,但是Windows7或Windows10情况应该差不多),如下图所示:
之后点击右侧的【创建基本任务】,输入任务名称以及可选的任务描述:
点击下一步,设置任务的开始时间,这个应该没什么难度,我这里设置为每天早上10点运行此计划任务:
点击下一步,设置【 *** 作】为【启动程序】,再点击下一步,最关键的地方来了,这里该怎么填写才能保证系统磨凳正确地运行Python程序呢?
废话不多说,先看具体的设置:
这里解释一下三个文本框内容的含义,【程序或脚本】文本框中填的是Python编译器的名称,一般就是python.exe,【起始于】文本框中填的是Python编译器的目录,上图中假设你的Python编译器的完整路径是“C:\Python27\python.exe”,【添加参数】文本框中填的是你的Python程序的完整路径,这里假设在C盘的Users文件夹下面有一个叫做code.py的文薯启件。如果你的Python程序包含命令行参数,将其添加到Python程序的完整路径之后即可。
相信聪明的读者已经发现了,如果将这三部分连在一起,就是“C:\Python27\python.exe
C:\Users\code.py”,这其实就是在Windows命令行下输入“python
C:\Users\code.py”(或“python
code.py”,如果你正好在C:\Users目录下),只是在计划任务的设置中需要给出完整的python编译器的路径而已。
之后点击下一步就可以点击完成了,是不是很简单?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)