python配置文件加密_Python 加密、表格、xml模块

今日内容:

1.hashlib模块:加密

2.hmac模块:加密

3.configparser模块:操作配置文件

4.subprocess模块:操作shell命令

5.xlrd模块:excel

6.xlwt模块:excel写

7.xml模块

hashlib模块:加密

import hashlib

# 基本使用

cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8'))

print(cipher.hexdigest()) # 加密结果码

# 加盐

cipher = hashlib.md5()

cipher.update('前盐'.encode('utf-8'))

cipher.update('需要加密的数据'.encode('utf-8'))

cipher.update('后盐'.encode('utf-8'))

print(cipher.hexdigest()) # 加密结果码

# 其他算法

cipher = hashlib.sha3_256(b'')

print(cipher.hexdigest())

cipher = hashlib.sha3_512(b'')

print(cipher.hexdigest())

hmac模块:加密

# 必须加盐

cipher = hmac.new('盐'.encode('utf-8'))

cipher.update('数据'.encode('utf-8'))

print(cipher.hexdigest())

configparser模块:操作配置文件

# my.ini

# 注释:该配置文件中,值直接书写,但有四种类型

# -- int float boolean str

# section

[server]

# name:option | value:mysql

name = mysql

version = 20000

[client]

name = owen

adress = 192.168.11.174

import configparser

# 初始化配置文件的操作对象

parser = configparser.ConfigParser()

# 读

parser.read('my.ini', encoding='utf-8')

# 所有section

print(parser.sections())

# 某section下所有option

print(parser.options('section_name'))

# 某section下某option对应的值

print(parser.get('section_name', 'option_name'))

# 写

parser.set('section_name', 'option_name', 'value')

parser.write(open('my.ini', 'w'))

subprocess模块:操作shell命令

import subprocess

order = subprocess.Popen('终端命令', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# order.stdout 流对象,order.stdout.read()来获取操作的信息字符串

suc_res = order.stdout.read().decode('系统默认编码')

err_res = order.stderr.read().decode('系统默认编码')

# stdout:存放指令执行成功的信息管道 | stderr 存放指令执行失败的信息管道

order = subprocess.run('终端命令', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# order.stdout 是字符串信息,就是Popen下order.stdout.read()

suc_res = order.stdout.decode('系统默认编码')

err_res = order.stderr.decode('系统默认编码')

xlrd模块:excel读

年终报表

教学部 市场部 咨询部总计

Jan-191015530

Feb-191015530

Mar-191015530

Apr-191015530

May-191015530

Jun-191015530

Jul-191015530

Aug-191015530

Sep-191015530

Oct-191015530

Nov-191015530

Dec-191015530

import xlrd

# 读取文件

work_book = xlrd.open_workbook("机密数据.xlsx")

# 获取所有所有表格名称

print(work_book.sheet_names())

# 选取一个表

sheet = work_book.sheet_by_index(1)

# 表格名称

print(sheet.name)

# 行数

print(sheet.nrows)

# 列数

print(sheet.ncols)

# 某行全部

print(sheet.row(6))

# 某列全部

print(sheet.col(6))

# 某行列区间

print(sheet.row_slice(6, start_colx=0, end_colx=4))

# 某列行区间

print(sheet.col_slice(3, start_colx=3, end_colx=6))

# 某行类型 | 值

print(sheet.row_types(6), sheet.row_values(6))

# 单元格

print(sheet.cell(6,0).value) # 取值

print(sheet.cell(6,0).ctype) # 取类型

print(sheet.cell_value(6,0)) # 直接取值

print(sheet.row(6)[0])

# 时间格式转换

print(xlrd.xldate_as_datetime(sheet.cell(6, 0).value, 0))

xlwt模块:excel写

import xlwt

# 创建工作簿

work = xlwt.Workbook()

# 创建一个表

sheet = work.add_sheet("员工信息数据")

# 创建一个字体对象

font = xlwt.Font()

font.name = "Times New Roman" # 字体名称

font.bold = True # 加粗

font.italic = True # 斜体

font.underline = True # 下划线

# 创建一个样式对象

style = xlwt.XFStyle()

style.font = font

keys = ['Owen', 'Zero', 'Egon', 'Liuxx', 'Yhh']

# 写入标题

for k in keys:

sheet.write(0, keys.index(k), k, style)

# 写入数据

sheet.write(1, 0, 'cool', style)

# 保存至文件

work.save("test.xls")

xml模块

2

2008

141100

5

2011

59900

69

2011

13600

import xml.etree.ElementTree as ET

# 读文件

tree = ET.parse("xmltest.xml")

# 根节点

root_ele = tree.getroot()

# 遍历下一级

for ele in root_ele:

print(ele)

# 全文搜索指定名的子标签

ele.iter("标签名")

# 非全文查找满足条件的第一个子标签

ele.find("标签名")

# 非全文查找满足条件的所有子标签

ele.findall("标签名")

# 标签名

ele.tag

# 标签内容

ele.text

# 标签属性

ele.attrib

# 修改

ele.tag = "新标签名"

ele.text = "新文本"

ele.set("属性名", "新属性值")

# 删除

sup_ele.remove(sub_ele)

# 添加

my_ele=ET.Element('myEle')

my_ele.text = 'new_ele'

my_ele.attrib = {'name': 'my_ele'}

root.append(my_ele)

# 重新写入硬盘

tree.write("xmltest.xml")