包的概念,hashlib模块和openpyxl模块

包的概念

''''''
'''
什么是包?
    它是一系列模块的结合体,就是个文件夹,本质就是模块
    该文件夹中应该有__init__文件
    
首次导入包
    会运行执行文件的代码 创建执行文件的名称空间
        1.创建包下面的__init__文件的名称空间
        2.执行__init__文件,执行__init__文件的代码,把产生的名字放入创建的名称空间中
        3.在执行文件中会有一个连接__init__名称空间的名字

在导入语句中.号左边的肯定是文件夹(包)


对包的理解我们要站在两个角度看
1.站在包的开发者来看
    当模块特多时,我们需要分文件夹管理
    为了防止模块所在文件夹后期改名的问题 包里面的模块在相互导入的时候统一使用相对导入
    
    
2.站在包的使用者来看
    你使用包时需要将包所在文件夹的绝对路径添加到环境变量中
    
    
在python2 中包的文件夹下必须有__init__文件
在python3 中包的文件夹下不一定要有__init__文件  
不能随意删除__init__文件
'''

'''
__init__文件就是将模块全部导入进__init__文件
'''

hashlib模块

# hashlib 加密模块
import hashlib  # 加密之后无法解密
md = hashlib.md5()  # 帮你生成一个加密对象
md.update('world'.encode('utf-8'))  # 往里面传入明文数据 update只能接收bytes类型数据
md.update('dsb'.encode('utf-8'))  # 可以对一个加密对象多次传入明文数据
# print(md.hexdigest())  # 获得明文数据对应的密文


md1 = hashlib.md5()
md1.update(''.encode('utf-8'))
# print(md1.hexdigest())


# 传入内容过多时,可以分次传入  相同内容被多次传入和被一次传入得到的密文相同
md2 = hashlib.sha1()
md2.update(b'hello')
md2.update(b'world')
# print(md2.hexdigest())  # 6adfb183a4a2c94a2f92dab5ade762a47889a5a1
md3 = hashlib.sha1()
md3.update(b'helloworld')
# print(md3.hexdigest())  # 6adfb183a4a2c94a2f92dab5ade762a47889a5a1


'''
hashlib模块应用场景
    1.加密密码
    2.检验文件是否一致
'''


# 加盐处理
# 就是给输入的密码在进行加密处理前  给他加上一些新内容  再进行加密处理


# 动态加盐
# 动态加盐可以将用户名和密码拼接在一起进行加密处理

openpyxl模块

# openpyxl 操作excel的模块

'''
03 版本之前excel的后缀名为xls
03 版本之后excel的后缀名为xlsx
'''

# 还有两个模块可以操作excel
# xlwd  xlrt

# xlwd 写excel
# xlrt 读excel

# xlwd和xlrt既支持03版本之前的excel也支持03版本之后的excel
# openpyxl只支持03版本之后的excel




#
'''
from openpyxl import Workbook
wb = Workbook()  # 生成一个工作簿
wb1 = wb.create_sheet('index')  # 添加一个列表
wb1.title = 'name'  # 后期修改列表名
wb1['A3'] = 11
wb1['A4'] = 19
wb1.cell(row=8,column=9,value=0)  # 在第8行 第9列 添加值0
wb1['B3'] = '=sum(A3:A4)'  # 在B3添加A3,A4的和
wb1.append(['username','age','hobby'])
wb1.append(['jason',18,'study'])
wb1.append(['tank',72,'吃生蚝'])
wb1.append(['egon',84,'女教练'])
wb1.append(['sean',23,'会所'])
wb1.append(['nick',28,])
wb1.append(['nick','','秃头'])

# 保存新建的excel
wb.save('index')
'''


#
from openpyxl import load_workbook
wb = load_workbook('index.xlsx',read_only=True,data_only=True)
print(wb.sheetnames)  # 读出excel文件中有几个表格,以列表的形式返回
print(wb['name']['A3'].value)  # 如果要读取空的单元格 直接报错
print(wb['name']['B3'].value)  # 通过代码产生的excel表格必须经过人为操作之后才能读取出函数计算出来的结果值


res = wb['name']
print(res)
for i in res:
    for j in i:
        print(j.value)

猜你喜欢

转载自www.cnblogs.com/asdaa/p/11221053.html