Python 编程快速上手 第十五章 保持时间,计划任务和启动程序
前言
这一章节的主要内容是:
- 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理)
- 创建多个线程 (使用 threading 模块来创建多个线程)
- 进行多个进程(使用 subprocess 模块来启动其他应用程序)
谈谈 time 模块
time 模块有两个方法最有用,time.time() 和 time.sleep()
关于 time.time() 这个函数
Unix 纪元:1970年1月1日0点
功能:time.time()的返回值是 Unix 纪元的那一刻与 time.time() 被调用的那一刻之间的秒数。
关于 time.sleep() 这个函数
功能:让程序暂停
格式:time.sleep(1),其中()内为让程序暂停的时间。
使用 round() 进行四舍五入
格式:round(x,y)
功能:x 是要进行四舍五入的数字,y 是小数点后几位,是一个可选值,默认情况下四舍五入为整数。
谈谈 datetime 模块
datetime 模块有两个可以使用的数据类型: datetime 和 timedelta.
关于 datetime.datetime()
格式:
datetime.datetime(2015, 10, 21, 16, 29, 0)
功能:
与 time.time() 显示时间戳不同,datetime.datetime() 表示具体的日期,其中的参数代表:年、月、日、时、分、秒。
其他:
- datetime.datetime.now():返回一个 datetime object, 它包含了当前时刻的各种 datetime 属性。
- datetime.datetime.fromtimestamp():接受一个时间戳,返回这个时间戳的 datetime 对象。
- 使用 strftime() 作用在一个 datetime 对象上,可以得到定制的格式化字符串。
- strptime() 的工作与 strftime() 的工作相反。
关于 datetime.timedelta()
格式:
delta =datetime.timedelta(days=11, hours=10, minutes=9 ,seconds=0)
功能:
它接受 microseconds, milliseconds, seconds, minutes, hours, days, weeks 作为参数,用于表示一段时间。
其他:
- 一个 datetime 对象将时间分别储存在天、秒、微妙中。
- delta.total_seconds() 这个方法返回这个时间段的总共的秒数。
- str(delta),返回一个比较易读的字符串。
- 通过‘+’,‘-’ 进行 datetime 对象和 timedelta 对象的运算
- 使用‘*’,’/‘可以是 timedelta 乘以或除以一个整数或浮点数。
谈谈多线程和 threading 模块
多线程指的是一个程序能够同时进行多处代码。创建,使用一个新线程需要用到 threading 模块。
关于创建新的 Thread
格式: threadObj = threading.Thread(target=nameOfFunction)
功能:创建一个 Thread 对象,其中 target 为其参数,它的 value 是要执行的函数的名字。
使用新的线程
格式:threadObj.start()
创建 Thread 对象时传入的参数
常规参数:args,数据类型为列表
关键字参数: kwargs, 数据类型为字典
谈谈进程 subprocess 模块
进程:
进程指的是一个应用程序的多个实例;进程之间相互独立,不能直接读写另一个进程的变量;一个进程可以包含多个线程。
使用 subprocess 模块中的 Popen() 函数,可以打开其他进程,即打开应用程序
使用 subprocess.Popen() 打开其他应用程序
格式(在 Mac OS 上):subprocess.Popen(['open','/Application/Calculator.app/'])
Python 编程快速上手 第十五章 保持时间,计划任务和启动程序的更多相关文章
- Python 编程快速上手 第十四章 处理 CSV 文件和 JSON 数据
前言 这一章分为两个部分,处理 CSV 格式的数据和处理 JSON 格式个数据. 处理 CSV 理解 csv csv 的每一行代表了电子表格中的每一行,每个逗号分开两个单元格csv 的内容全部为文本, ...
- python编程快速上手之第10章实践项目参考答案
本章主要讲了python程序的调试,当程序有BUG或异常的时候,我们如何调试代码找出问题点.其实在本章之前的章节我们做练习的时候都会遇到各种各样的错语和异常,最初当不知道程序哪里出错的情况下不可否 ...
- python编程快速上手之第9章实践项目参考答案
本章介介绍了shutil,zipfile模块的使用,我们先来认识一下这2个模块吧. 一.shutil模块 shutil模块主要用于对文件或文件夹进行处理,包括:复制,移动,改名和删除文件,在shuti ...
- python编程快速上手之第8章实践项目参考答案
第8章实践项目之疯狂填词 创建一个一个疯狂填词(Mad Libs),程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE,NOUN,VERB等单词的地方,加上他们自己的文本. 首先准 ...
- python编程快速上手之第5章实践项目参考答案
#!/usr/bin/env python3.5 # coding:utf-8 # 5.6.1 # 好玩游戏的物品清单 # 给定一个字典,包含物品名称和数量,并打印出数量对应的物品 dict_stuf ...
- python编程快速上手之第3章实践项目参考答案
1 #!/usr/bin/env python 2 # coding:utf-8 3 # write by mfyang 4 # collatz.py 5 # 从用户读入一个值,并判断这个值是不是一个 ...
- Python 编程快速上手 第十八章 用 GUI 自动化控制键盘和鼠标
前言 这一章节讲述了如何实现 GUI 自动化,首先讲了一些处理异常状况的方法,然后是关于 GUI 自动化的内容,主要有三个部分: 控制鼠标 图像识别 控制键盘 下面引用一段话: 请将 GUI 自动化看 ...
- python编程快速上手之第7章实践项目参考答案
#!/usr/bin/env python3.5 #coding:utf-8 import re # 7.18.1 # 强口令检测 # 写一个函数,使用正则表达式,确保传入的口令字符串是强口令 # 长 ...
- python编程快速上手之第6章实践项目参考答案
#!/usr/bin/env python3.5 2 #coding:utf-8 3 # 4 # 这个项目主要目的是字符串的处理,简单格式化输出 5 tableData = [['apples','o ...
随机推荐
- sentos7为例添加python3和python2共存
转载:https://www.cnblogs.com/JahanGu/p/7452527.html 1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命 ...
- 20145326蔡馨熤《网络对抗》—— Web安全基础实践
20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...
- 检测 C++ 内存泄露
转载:http://www.cnblogs.com/zouzf/p/4152279.html #include "stdafx.h" #include <string> ...
- 尚硅谷面试第一季-12Linux常用服务类相关命令
课堂重点: 实操命令及运行结果: (centos 6) service network status chkconfig --list chkconfig --level 5 network off ...
- 5.sql2008分组与嵌套
1.Group by基本介绍;2.Having的使用;3.分组综合应用;4.子查询基本介绍;5.In/Exists/Any/Some/All;6.子查询综合应用; 1.Group by基本介绍:依据B ...
- init: wait for '/dev/block/bootdevice/by-name/cache' timed out and took 5007ms【学习笔记】
平台信息:内核:4.9.112系统:android one平台:qcom sdm439 作者:庄泽彬(欢迎转载,请注明作者) 一.android设备在开机的时候打印了如下的log,由于系统使用了AB分 ...
- 我的互联网30年。永远的8U8 永远的Y365
我的互联网30年.永远的8U8 永远的Y365
- noip模拟【tea】
tea [题目描述]有n个容量为V的瓶子,第i个瓶子中装着a[i]个单位的tea,使所有瓶子内的tea在不 超过其容量的前提下,非空的瓶子最少.在一个单位时间内,可以同时将多个瓶子中的tea倒入另外多 ...
- js插入排序
插入排序 平均时间复杂度O(n*n) 最差情况O(n*n) 最好情况O(n) 空间复杂度O(1) 稳定性:稳定 function insertSort (arr) { var len = arr.le ...
- CentOS 7.3 上安装docker
Docker,分为社区版CE和企业版EE.社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务. 一.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3 ...