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就只能找到谁

相对路径: 打破了搜索路径的这种规则,不需要以执行文件的搜索路径为准

  1. .表示当前路径
  2. ..表示上一层

绝对路径: 写死路径

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())
  1. 结果永远都是相同长度的字符串
  2. 叠加性

hmac模块

加密, 加盐处理

m = hmac.new(b'123')
m.update(b'hellow')
print(m.hexdigest())

json模块

  1. 序列化: 将python的数据类型存成 json串
  2. 反序列化: 将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()

posted @ 2019-09-16 19:03  ZJJJJJJJ  阅读(188)  评论(0编辑  收藏  举报