collections模块,time&datetime模块.os&sys模块,subprocess模块,random模块,序列化模块(json,pickle)
一、Collections模块
在基本数据类型(int ,float,list,tuple,dict,set,文件)的基础上,collections模块还提供了其他额外的数据类型
Counter:计数器,用来计数的
Deque:双端队列,可以快速从另一端侧追加和推出对象
Defaultdict:带有默认值的字典
Ordereddict:有序字典
Namedtuple:生成可以用名字来访问的tuple
1.namedtuple生成可以用名字来访问的tuple
2.deque 双端队列
这里提到队列(queue),队列是先进先出(FIFO first in first out)
3.Orderddict:有序字典
这里需要注意:
使用字典时,key值无序的。再对dict进行迭代时,我们无法确定key的顺序。
Python3中不能分辨的出,但python2中是能分辨的出的。
如果要保持key的顺序,可以用orderddict
4.defaultddict 有默认值的字典
使用dict时,如果引用的key不存在,就会抛出keyerror.如果希望key不存在,返回的就是一个默认值,就可以用defaultdict
5.counter 计数器,用来计数的,返回的是一个字典形式
二、time模块
时间的三种表现形式
1.时间戳
2.格式化的时间字符串(用来展示给人看得)
3.结构化时间
时间戳 (timestamp)
Time.time()
格式化的时间字符串(format string)
('%Y-%m-%d')) ('%Y-%m-%d %H:%M:%S')) ('%Y-%m-%d %X')) # %X等价于%H:%M:%S
结构化时间(struct_time)
time.struct_time((1970, 1, 1, 8, 1, 40, 3, 1, 0))
Time.localtime(sec) 表示1970年1月1日开始,经历的时间 转为结构化格式 不写sec,默认当前时间的结构化格式
Time.sleep(sec)
Datetime 模块
三、Random 模块
Os模块and sys模块
Os模块:它是来跟操作系统打交道的
Sys模块:它是跟python解释器打交道的
四、序列化模块
序列:字符串
序列化:其他数据类型转换成字符串的过程
反序列化:将字符串转成其他数据
写入文件的数据必须是字符串
基于网络传输的数据必须是二进制
序列化中用到的两个模块:json pickle
1.Json模块:
Json模块提供了四个功能:dumps, dump,loads,load
Json模块 中ensure_ascii方法 (字符串中有中文需要注意)
2.Pickle 模块
注意:
Json 是用于字符串和python数据类型间进行转换
Pickle 是用python特有的类型 和python的数据类型间进行转换 用pickle操作文件的时候 文件的打开模式必须是b模式
pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load。(不仅可以序列化字典,列表...可以把python中任意的数据类型序列化)
Subprocess 模块
Sub :子
Process:进程
1.用户通过网络连接上你的电脑
2.用户输入相应的命令 基于网络发送给了你电脑上的某个程序
3.获取用户命令 利用subprocess 执行该用户命令
4.将执行结果再基于网络发送给用户
这样就实现 用户远程操作你这台电脑的操作