前言
这一章节的主要内容是:
- 处理时间类型的数据(使用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/'])