time模块
- 打印时间戳/格式化时间/结构化时间,总而言之就是打印不同类型的时间;进行不同类型时间的转换
import time# 时间戳
time.time() (********)# 格式化时间
time.strftime('%Y-%m-%d %X')# 结构化时间
time.localtime() # 北京时间
time.gmtime() # 格林威治时间
time.gmtime(0) # 1970/1/1/0:00# 时间的转换(了解中的了解)
# 结构化时间转换为时间戳
now = time.localtime()
time.mktime(now)# 结构化时间转格式化时间
time.strftime('%Y-%m-%d %X', now) # 2019-06-11 08:45:30
time.strftime('%Y-%m-%d', now) # 2019-06-11# 格式化时间转结构化时间
now = time.strftime('%Y-%m-%d %X')
time.strptime(now,'%Y-%m-%d %X')
time.strptime('2019|06|11', '%Y|%m|%d')# 时间戳转化为结构化时间
now = time.time()
time.localtime(now)# 睡眠
time.sleep(n) # 暂停程序n秒(*****)
datetime模块
- 时间的加减
import datetimenow = datetime.datetime.now() # (*****)牢记now + datetime.timedelta(3) # +3daynow - datetime.timedelta(3) # -3day
now + datetime.timedelta(-3) # -3daynow + datetime.timedelta(minutes=3) # +3minutesnow + datetime.timedelta(seconds=3) # +3secondsnow + datetime.timedelta(365) # +1yearnow.replace(year=2012, month=12, day=22, hour=5, minute=13, second=14)
random模块
- 随机数,随机取容器元素
import random# (0,1) (*****)
random.random()# [1,3] 的整数 (*****)
random.randint()# [1,3] 的小数
random.uniform()# [1,3) 的整数
random.randrange()# 取容器中的一个元素 (*****)
random.choice([1,2,3])# 取容器中的多个元素
random.sample([1,2,3],2)# 打乱容器 (*****)
lis = [1,3,4]
random.shuffle(lis)
os模块
- 与操作系统交互,一般用来操作文件夹和文件
import os# 新建一个文件夹
os.mkdir(path)# 新建一个文件
f = open('','w',encoding='utf8')
f.close()# 删除一个文件(*****)
os.remove(path)# 重命名一个文件(*****)
os.rename(path)# 删除空文件
os.removedirs(path)# 删除一个空文件
os.rmdir(path)# 拼接文件(*****)
os.path.join(path)# 列出文件夹下所有内容(*****)
os.listdir(path)# 获取文件大小(*****)
os.path.getsize(path)# 获取文件夹下所有的文件夹和文件(*****)
os.walk(path)# 当前当前项目路径
os.getcwd(path)# 获取文件路径(*****)
os.path.dirname(os.path.dirname(__file__))# 判断文件是否存在(*****)
os.path.exists(path)# 执行linux命令
os.system('cd c:')# 获取文件的绝对路径(*****)
os.path.abspath(__file__) # 获取当前文件的绝对路径
os.path.abspath(path) # 获取某一个文件的绝对路径
sys模块
- 与python解释器交互
import sys# 获取当前文件的环境变量,就是模块的搜索路径(*****)
sys.path
sys.path.append # 添加环境变量# 当终端 python test.py 参数1 参数2 ... 执行python文件的时候会接收参数(*****)
sys.argv # 标准输出
sys.stdout.write()# 标准输入
sys.stdin.read(n) # 读取的字符,如果输出过多的字符,只接受n个
json模块
-
序列化:把数据从从内存到硬盘,对于json而言,需要按照json的标准
- dict/list/str/int/float/bool(*****)
-
反序列化:把json形式的数据从硬盘读入内存()()
-
优点:跨平台性/跨语言传输数据 (*****)
-
缺点:不能保存函数之类的数据类型,保存的类型为字符串形式
import json# 内存中转换的
dic = {'name':'nick'}# 了解
res = json.dumps(dic)
json.loads(res)def write_json(filename, dic):with open(filename,'w',encoding='utf8') as fw:json.dump(dic, fw) (*****)def read_json(filename):with open(filename,'r',encoding='utd8') as fr:data = json.load(fr) (*****)return data
pickle模块
-
优点:能存储python的任意类型数据
-
缺点:无法跨平台,保存的数据为二进制类型
import pickle# 内存中转换的
def func():pass# 了解
res = pickle.dumps(func)
pickle.loads(res)def write_pickle(filename, func):with open(filename,'wb') as fw:pickle.dump(func, fw) (*****)def read_pickle(filename):with open(filename,'rb') as fr:data = pickle.load(fr) (*****)return data