一. collections模块
封装了关于集合类的相关操作
1.Counter 计算出现次数 获取到的结果可以像字典一样使用
2.队列 先进先出
import queue
q = queue.Queue() #创建队列
q.put() # 放元素
q.get() # 获取元素
栈 先进后出 由栈顶指针控制
3.双向队列
from collections import deque
q = deque()
q.append()
q.appendleft() # 从左侧添加
q.pop()
q.popleft() # 左侧删除
4.命名元组 namedtuple
给元组内的元素进行命名
nt = namedtuple("point", ["x", "y"])
p = nt(1, 2)
print(p)
print(p.x)
print(p.y)
5. defaultdict 和orderdict
defaultdict 可以给字典设置默认值,
当key不存在时 直接获取默认值 默认值必须是可调用的
from collections import defaultdict
dd = defaultdict(list) # 默认值list
print(dd['娃哈哈']) # [] 当key不不存在的时候. 会⾃自动执⾏行行构造⽅方法中传递的内容.
orderdict 有序的字典
6.time
时间戳 time.time() 给机器看的
格式化时间 time.strftime("%Y-%m-%d %H:%M:%S") %j 年内的第几天
结构化时间 time.localtime()
时间转换:
所有的转化都要通过结构化时间
时间戳 -> 格式化时间
t = time.localtime(时间戳) # 结构化时间
s = time.strftime("%Y-%m-%d %H:%M:%S",t) #格式化时间
格式化时间 -> 时间戳
s = "2020-10-01 12:18:12"
t = time.strptime(s, "%Y-%m-%d %H:%M:%S") # 转化成结构时间
print(time.mktime(t)) # 转换成时间戳
二. random
random.random() # 0-1之间的小数
random.uniform(a,b) # a-b之间的小数
random.randint(a, b) # a-b整数 [a, b]
random.randrange(a, b, 步长) # [a,b)按步长
random.choice([1, '周杰伦', ["盖伦", "胡辣汤"]]) # 取任意一个元素
random.sample([1, '23', [4, 5]], n) # 任意n个元素组合
random.shuffle(lst) # 随机打乱顺序
三.os
os.makedirs() #生成多层目录
os.removedirs() #不能删除不为空的目录
os.mkdir() # 生成单级目录
os.rmdir() # 不为空无法删除并报错
os.listdir() # 列出指定目录下的所有文件和子目录,以列表形式
os.remove() # 删除一个文件
os.rename() # 重命名
os.system("bash command") 运⾏行行shell命令,直接显示
os.popen().read() 运行shell命令,获取执⾏行行结果
os.getcwd() 获取当前⼯工作⽬目录,即当前python脚本⼯工作的⽬目录路路径
os.chdir("dirname") 改变当前脚本⼯工作⽬目录;相当于shell下cd
os.path.split(路径) 将路径分割成目录和文件名 以元组形式返回
os.path.join(path1[, path2[, ...]]) 将多个路路径组合后返回,第⼀一个绝对路路径之前的参数将被忽略略
四.sys
所有和python解释器相关的都在sys模块.
sys.argv 命令⾏行行参数List,第一个元素是程序本身路路径
# 在运行的时候给python传递的信息.
sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version 获取Python解释程序的版本信息
sys.path 返回模块的搜索路路径,初始化时使⽤用PYTHONPATH环境变量量的值