下面就来详细讲解一下Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块的用法:
shelve模块
shelve模块是一个简易的对象持久化存储模块,用于将Python对象持久化到磁盘上,读取时可以直接还原成对象。shelve模块的主要接口是open()函数。
用法示例
import shelve
# 创建一个本地数据库文件
db = shelve.open('mydb')
db['name'] = 'Tom'
db['age'] = 23
# 关闭数据库文件
db.close()
# 读取数据库文件
db = shelve.open('mydb')
name = db['name']
age = db['age']
print(name, age)
# 关闭数据库文件
db.close()
上面的例子中,创建了一个名为'mydb'的本地数据库文件,然后往里面添加了两个字段,'name'和'age',关闭文件后再重新打开,就可以读取到之前存储的数据了。
xml模块
xml模块是Python内置的一个XML处理模块,可以用于解析xml文件、生成xml文件,以及对xml文件进行操作。
用法示例
import xml.etree.ElementTree as ET
# 解析xml文件
tree = ET.parse('test.xml')
root = tree.getroot()
# 遍历xml数据
for child in root:
print(child.tag, child.attrib)
# 读取xml数据
for country in root.findall('country'):
rank = country.find('rank').text
name = country.get('name')
print(rank, name)
# 修改xml数据
for rank in root.iter('rank'):
new_rank = int(rank.text) + 1
rank.text = str(new_rank)
rank.set('updated', 'yes')
# 写入xml文件
tree.write('output.xml')
上面的例子中,首先解析了一个名为'test.xml'的xml文件,然后遍历了一下xml数据,读取了'rank'和'name'字段,接着修改了'rank'字段的值,最后将修改后的xml写入了一个新的文件。
configparser模块
configparser模块是Python内置的一个配置文件解析模块,可以用于读取和修改各种类型的配置文件。
用法示例
import configparser
# 创建配置文件
config = configparser.ConfigParser()
config['db'] = {'host': 'localhost', 'port': '3306'}
config['user'] = {'name': 'Tom', 'password': '123456'}
# 写入配置文件
with open('config.ini', 'w') as configfile:
config.write(configfile)
# 读取配置文件
config = configparser.ConfigParser()
config.read('config.ini')
host = config.get('db', 'host')
port = config.get('db', 'port')
name = config.get('user', 'name')
password = config.get('user', 'password')
print(host, port, name, password)
# 修改配置文件
config.set('db', 'port', '3307')
with open('config.ini', 'w') as configfile:
config.write(configfile)
上面的例子中,首先创建了一个名为'config.ini'的配置文件,并写入了两组配置信息,然后将其写入文件。接着读取了配置文件,并获取了'host'、'port'、'name'和'password'等字段的值。最后修改了'port'字段的值,并将修改后的配置信息重新写入文件。
hashlib和hmac模块
hashlib和hmac模块是Python内置的加密模块,可以用于加密哈希值和消息认证码。
用法示例
import hashlib
import hmac
# hashlib模块
str = 'abc'
md5 = hashlib.md5(str.encode('utf-8')).hexdigest()
sha1 = hashlib.sha1(str.encode('utf-8')).hexdigest()
print(md5, sha1)
# hmac模块
key = b'secret'
msg = b'message'
sha256 = hmac.new(key, msg, digestmod='sha256').hexdigest()
print(sha256)
上面的例子中,使用hashlib模块分别对'abc'字符串进行md5和sha1加密,返回了它们的哈希值。接着使用hmac模块对一条消息进行sha256认证,返回了消息的认证码。
以上就是Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块的用法分析。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析 - Python技术站