python现在时间 命令_Python3 - 时间处理与定时任务

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.计算上一个的时间

方法1:

#! /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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1419. 数青蛙(脑洞题)

1. 题目 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 “croak” )的组合。 由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。 请你返回模拟字符串中所有蛙鸣所需不同青蛙的…

MYSQL性能优化(转)

MySQL 服务器调优 最近帮人维护一个DZ论坛,总结如下几个调优技巧,让 MySQL 服务器飞速运行有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为:1.替换有问题的硬件。2.对 MySQL 进程的设置进行调优。3.对查询进行优化…

python报IndentationError: unexpected indent的解决方法.

问题描述: python语言对缩进非常敏感,一般都是四个空格 一个tab,但是很多时候我们会忽视这个问题。导致两者混用或者少写空格容易出现这样的问题。问题解决:找到指定代码行,重新书写!下面的with open则是明…

termux配置python安装kali_安卓安装kali linux之Termux

解决安装kali无模组问题步骤1.获取root环境需要下载proot直接在命令行里输入pkg install proot,下完以后输入命令termux-chroot获取root环境2.获取git ,因为需要在github上下载atilo,atilo的作用是atilo是github上的一个开源工具,…

LeetCode 466. 统计重复个数(循环节)

1. 题目 由 n 个连接的字符串 s 组成字符串 S,记作 S [s,n]。例如,["abc",3]“abcabcabc”。 如果我们可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。例如,根据定义,“abc”…

aspnet_regsql

aspnet_regsql 使SQL支持会话状态 aspnet_regsql -S localhost -U sa -P password -ssadd -sstype p 其中:-sstype有三个值:t,p,c(详细说明可使用 aspnet_regsql -? 命令查看) 使数据库支持SQL Server高速缓存禁用功能 aspnet_regsql -S localhost -U …

AcWing之找出数组中重复的数字

题目 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。 注意:如果某些数字不在 0…

python绘制数字23_Python 画数码数字8

import turtlesize 10line 40# 拿出笔pen turtle.Pen()pen.pensize(size)pen.pencolor("blue")turtle.tracer(False) # 不跟踪动画pen.penup()pen.forward(size)pen.pendown()pen.forward(line)pen.penup()pen.forward(size)pen.pendown()pen.left(90)pen.penup()…

LeetCode 303. 区域和检索 - 数组不可变(前缀和)

1. 题目 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 示例: 给定 nums [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRang…

timer控件的使用

拖拉过去后,双击timer,进入timer2_Tick事件,写入代码后, 改timer属性 interval为1 enabled为true 转载于:https://www.cnblogs.com/zzh1236/archive/2008/12/17/1356435.html

AcWing之找出不改变数组找到重复的数字

题目 给定一个长度为 n1 的数组nums,数组中所有的数均在 1∼n 的范围内,其中 n≥1。请找出数组中任意一个重复的数,但不能修改输入的数组。样例 给定 nums [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。思考题: 如果只能使用 O(1) …

DELPHI之备忘(二)

1. DLL的资源释放问题 EXITPROC//*******************//释放资源//*******************var dllExit: Pointer;procedure MyExit;begin//资源释放 ExitProc : dllExit;end;//******************************//创建资源//******************************begin // 资源创建 Exi…

LeetCode 307. 区域和检索 - 数组可修改(树状数组)

1. 题目 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 update(i, val) 函数可以通过将下标为 i 的数值更新为 val,从而对数列进行修改。 示例: Given nums [1, 3, 5] sumRange(0, 2) -> …

python地理_【Python教程】地理可视化

Matplotlib是Python常用的数据绘制包,其绘图功能强大;而Basemap则是Matplotlib的一个子包,负责地图绘制。本文简单介绍如何利用该程序包绘制风向图。具体操作如下:导入命令1)设置工作环境并导入程序包%cd "F:\\Dropbox\\pyth…

部署windows服务

写好了windows服务以后,再切换到设计页面,右键点击添加安装程序,点击后自动给你添加上一个安装组件,再设置下serviceProcessInstaller1组件的属性(在设计器中设置,不在代码中),其中有…

LeetCode 327. 区间和的个数(multiset二分查找/归并排序)

文章目录1. 题目2. 解题2.1 动态规划超时2.2 二分查找2.3 归并排序1. 题目 给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包…

AcWing之二维数组的查找

题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。样例 输入数组: [ [1,2,8,9]&…

sql server排序慢_SQL 查询调优之 where 条件排序字段以及 limit 使用索引的奥秘

(给数据分析与开发加星标,提升数据技能)作者:风过无痕-唐www.cnblogs.com/tangyanbo/p/6378741.html奇怪的慢sql我们先来看2条sql第一条:select * from acct_trans_log WHERE acct_id 1000000000009000757 order by create_time desc limit…

fedora10完全配置文档连接网址

code.google.com/p/fedora-zh/downloads/list 转载于:https://www.cnblogs.com/glc400/archive/2008/12/20/4473856.html

LeetCode 326. 3的幂

1. 题目 给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 输入: 27 输出: true示例 2: 输入: 0 输出: false示例 3: 输入: 9 输出: true示例 4: 输入: 45 输出: false进阶: 你能不使用循环或者递归来完成本题吗?来源&#xff…