Python3 - 时刻处理与守时使命

不管哪种编程言语,时刻必定都是非常重要的部分,今日来看一下python怎么来处理时刻和python守时使命,留意咯:本篇所讲是python3版别的完成,在python2版别中的完成略有不同,有时刻会再写一篇以便咱们差异。

1.核算明日和昨日的日期

#! /usr/bin/env python
#coding=utf-8
# 获取今日、昨日和明日的日期
# 引进datetime模块
import datetime  
#核算今日的时刻
today = datetime.date.today()
#核算昨日的时刻  
yesterday = today - datetime.timedelta(days = 1)
#核算明日的时刻 
tomorrow = today + datetime.timedelta(days = 1)  
#打印这三个时刻
print(yesterday, today, tomorrow)

2.核算上一个的时刻

办法一:

#! /usr/bin/env python
#coding=utf-8
# 核算上一个的时刻
#引进datetime,calendar两个模块
import datetime,calendar 
 
last_friday = datetime.date.today()  
oneday = datetime.timedelta(days = 1)  
   
while last_friday.weekday() != calendar.FRIDAY:  
    last_friday -= oneday  
   
print(last_friday.strftime('%A, %d-%b-%Y'))

办法二:凭借模运算寻觅上一个星期五

#! /usr/bin/env python
#coding=utf-8
# 凭借模运算,能够一次算出需求减去的天数,核算上一个星期五
#相同引进datetime,calendar两个模块
import datetime  
import calendar  
   
today = datetime.date.today()  
target_day = calendar.FRIDAY  
this_day = today.weekday()  
delta_to_target = (this_day - target_day) % 7 
last_friday = today - datetime.timedelta(days = delta_to_target)  
   
print(last_friday.strftime("%d-%b-%Y"))

3.核算歌曲的总播映时刻

#! /usr/bin/env python
#coding=utf-8
# 获取一个列表中的一切歌曲的播映时刻之和  
import datetime  
   
def total_timer(times):  
    td = datetime.timedelta(0)  
    duration = sum([datetime.timedelta(minutes = m, seconds = s) for m, s in times], td)  
    return duration  
   
times1 = [(2, 36),  
          (3, 35),  
          (3, 45),  
          ]  
times2 = [(3, 0),  
          (5, 13),  
          (4, 12),  
          (1, 10),  
          ]  
   
assert total_timer(times1) == datetime.timedelta(0, 596)  
assert total_timer(times2) == datetime.timedelta(0, 815)  
   
print("Tests passed.\n" 
      "First test total: %s\n" 
      "Second test total: %s" % (total_timer(times1), total_timer(times2))) 

4.重复履行某个指令

#! /usr/bin/env python
#coding=utf-8
# 以需求的时刻距离履行某个指令  
   
import time, os  
   
def re_exe(cmd, inc = 60):  
    while True:  
        os.system(cmd);  
        time.sleep(inc)  
   
re_exe("echo %time%", 5) 

5.守时使命

#! /usr/bin/env python
#coding=utf-8
#这儿需求引进三个模块
import time, os, sched  
   
# 第一个参数确认使命的时刻,回来从某个特定的时刻到现在阅历的秒数  
# 第二个参数以某种人为的办法衡量时刻  
schedule = sched.scheduler(time.time, time.sleep)  
   
def perform_command(cmd, inc):  
    os.system(cmd)  
       
def timming_exe(cmd, inc = 60):  
    # enter用来组织某事情的发生时刻,从现在起第n秒开端发动  
    schedule.enter(inc, 0, perform_command, (cmd, inc))  
    # 继续运转,直到方案时刻行列变成空停止  
    schedule.run()  
       
   
print("show time after 10 seconds:")  
timming_exe("echo %time%", 10) 

6.运用sched完成周期调用

#! /usr/bin/env python
#coding=utf-8
import time, os, sched  
   
# 第一个参数确认使命的时刻,回来从某个特定的时刻到现在阅历的秒数  
# 第二个参数以某种人为的办法衡量时刻  
schedule = sched.scheduler(time.time, time.sleep)  
   
def perform_command(cmd, inc):  
    # 组织inc秒后再次运转自己,即周期运转  
    schedule.enter(inc, 0, perform_command, (cmd, inc))  
    os.system(cmd)  
       
def timming_exe(cmd, inc = 60):  
    # enter用来组织某事情的发生时刻,从现在起第n秒开端发动  
    schedule.enter(inc, 0, perform_command, (cmd, inc))  
    # 继续运转,直到方案时刻行列变成空停止  
    schedule.run()  
       
   
print("show time after 10 seconds:")  
timming_exe("echo %time%", 10) 

上一篇:python履行linux指令的两种办法
下一篇:888真人赌博的CMS体系,Silva CMS 3 发布

PythonTab微信大众号:

Python技能交流合作群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854