8.19(day18)numpy,pandas,matplotlib模块
复习
包
一个模块aaa.py中方法太多了, 所以分成多个文件m1.py, m2.py, 把m1.py和m2.py放到名字为aaa的包(含有init文件的文件夹叫包)里
导入aaa包就是导入init, 所以往init里面加入一个f1()
import aaa
aaa.f1()
import aaa
aaa.f1()
# aaa/init.py
from aaa.m1 import f1
搜索路径以执行文件为准,也就说执行文件run能找到谁,init就只能找到谁
相对路径: 打破了搜索路径的这种规则,不需要以执行文件的搜索路径为准
.
表示当前路径..
表示上一层
绝对路径: 写死路径
time模块
打印三种不同格式的时间
time.time() # 打印当前时间(秒)
time.sleep() # 睡眠
datetime模块
修改时间
datetime.datetime.now() + datetime.timedelta(3)
hashlib模块
加密
m = hashlib.md5()
m.update(b'hello')
m.update(b'hello')
print(m.hexdigest())
m = hashlib.md5()
m.update(b'hellohello')
print(m.hexdigest())
- 结果永远都是相同长度的字符串
- 叠加性
hmac模块
加密, 加盐处理
m = hmac.new(b'123')
m.update(b'hellow')
print(m.hexdigest())
json模块
- 序列化: 将python的数据类型存成 json串
- 反序列化: 将json串 读成python的数据类型
跨平台
dict/list
dic = {'a':1}
# 内存中转化
data = json.dumps(dic)
data = json.loads(data)
# 文件中转化
with open() as fw:
json.dump(dic, fw)
with open() as fr:
data = json.load(fr)
pickle模块
不能跨平台,但是支持python所有数据类型
dic = {'a':1}
# 内存中转化
data = pickle.dumps(dic)
data = pickle.loads(data)
# 文件中转化
with open() as fw:
pickle.dump(dic, fw)
with open() as fr:
pickle = json.load(fr)
os模块
用来和操作系统交互
os.path.join() # 拼接地址
os.path.listdir() # 列出文件夹内的所有文件
os.path.dirname() # 获取上一级目录
os.path.abspath() # 获取文件的绝对路径
os.path.exists() # 文件是否存在
sys模块
用来和python解释器交互
sys.argv # 用cmd执行python文件的时候获取参数
sys.path # 获取环境变量
logging模块
import logging
# 1. 生成logger对象
logger = logging.getLogger('nick')
logger1 = logging.getLogger('jason')
# 2. 格式
formmater1 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',datefmt='%Y-%m-%d %H:%M:%S %p',)
formmater2 = logging.Formatter('%(asctime)s : %(message)s',datefmt='%Y-%m-%d %H:%M:%S %p',)
formmater3 = logging.Formatter('%(name)s %(message)s',)
# 3. 打印对象
h1 = logging.FileHandler('h1.log')
sm = logging.StreamHandler()
# 4. 打印对象绑定格式
h1.setFormatter(formmater1)
sm.setFormatter(formmater2)
# 5. logger绑定打印对象
logger.addHandler(h1)
logger.addHandler(sm)
# 6. 设置级别
logger.setLevel(50)
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')
numpy模块
numpy数组(矩阵)的运算, 科学运算, tensorflow
pandas模块
文件(excel)的处理
read_excel()/to_excel()
matplotlib模块
画图, plt.plot()/plt.bar()/plt.scatter()/plt.hist()/plt.pie()