Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
主要介绍了Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块,结合实例形式较为详细的分析了shelve、xml、configparser、hashlib、hmac等模块的功能及使用方法,需要的朋友可以参考下 ### Python3.5 内置模块详解:shelve 模块、xml 模块、configparser 模块、hashlib、hmac 模块 #### 1. shelve 模块 - **简介**:`shelve` 模块提供了一个简单的持久存储方式,它类似于一个键值对数据库。它允许你将任何可被 `pickle` 序列化的对象存储到文件中,并且可以从文件中读取这些对象。 - **应用场景**:`shelve` 通常用于存储少量的数据,例如配置文件、缓存数据等。 - **基本用法**: - 打开或创建一个 `shelve` 文件:`db = shelve.open(filename)` - 存储数据:`db[key] = value` - 读取数据:`value = db[key]` 或 `value = db.get(key)` - 关闭文件:`db.close()` #### 2. xml 模块 - **简介**:`xml` 模块提供了处理 XML 数据的方法。XML 是一种非常通用的数据格式,广泛应用于不同的场景中。 - **子模块介绍**: - `xml.etree.ElementTree`:提供了一种轻量级、快速的方法来解析和创建 XML 文档。 - **基本用法**: - 解析 XML 文件:`tree = ET.parse(file_name)` - 获取根元素:`root = tree.getroot()` - 遍历 XML 元素: ```python for child in root: print(child.tag, child.attrib) ``` - 查找特定元素: ```python country = root.find('country') rank = country.find('rank').text ``` #### 3. configparser 模块 - **简介**:`configparser` 模块用于读写 INI 配置文件,这是一种常见的配置文件格式。 - **基本用法**: - 创建配置对象:`config = configparser.ConfigParser()` - 读取配置文件:`config.read(file_name)` - 获取配置项:`value = config.get(section, option)` - 设置配置项:`config.set(section, option, value)` - 写入配置文件:`with open(file_name, 'w') as configfile: config.write(configfile)` #### 4. hashlib 模块 - **简介**:`hashlib` 模块提供了一种方便的方式来计算哈希值,这对于密码存储、文件完整性检查等非常有用。 - **常用算法**:MD5、SHA1、SHA256、SHA512 等。 - **基本用法**: - 创建哈希对象:`hash_object = hashlib.sha256()` - 更新哈希对象的内容:`hash_object.update(b'Some data')` - 获取哈希值:`hex_dig = hash_object.hexdigest()` #### 5. hmac 模块 - **简介**:`hmac` 模块提供了基于密钥的消息认证码(HMAC)算法的实现,主要用于验证数据完整性和数据源认证。 - **基本用法**: - 创建 HMAC 对象:`h = hmac.new(key, msg=None, digestmod='sha256')` - 更新 HMAC 对象的内容:`h.update(b'additional data')` - 计算 HMAC 值:`h.hexdigest()` ### 示例代码 #### shelve 模块示例 ```python import shelve # 打开或创建一个 shelve 文件 db = shelve.open('example.db') # 存储数据 db['key'] = {'name': 'John', 'age': 25} # 读取数据 print(db['key']) # 关闭文件 db.close() ``` #### xml 模块示例 ```python import xml.etree.ElementTree as ET # 解析 XML 文件 tree = ET.parse('example.xml') root = tree.getroot() # 打印所有国家的信息 for country in root.findall('country'): rank = country.find('rank').text name = country.get('name') print(f'Country: {name}, Rank: {rank}') ``` #### configparser 模块示例 ```python import configparser # 创建配置对象 config = configparser.ConfigParser() # 读取配置文件 config.read('example.ini') # 获取配置项 value = config.get('section', 'option') print(value) # 设置配置项 config.set('section', 'option', 'new_value') # 写入配置文件 with open('example.ini', 'w') as configfile: config.write(configfile) ``` #### hashlib 模块示例 ```python import hashlib # 创建哈希对象 hash_object = hashlib.sha256() # 更新哈希对象的内容 hash_object.update(b'Some data to hash') # 获取哈希值 hex_dig = hash_object.hexdigest() print(hex_dig) ``` #### hmac 模块示例 ```python import hmac # 创建 HMAC 对象 h = hmac.new(b'secret-key', digestmod='sha256') # 更新 HMAC 对象的内容 h.update(b'message to sign') # 计算 HMAC 值 hmac_val = h.hexdigest() print(hmac_val) ``` 以上示例展示了如何使用 `shelve`、`xml`、`configparser`、`hashlib` 和 `hmac` 这五个 Python 内置模块。这些模块为开发人员提供了强大的工具来处理数据持久化、配置管理、数据验证等方面的问题。
- 粉丝: 3
- 资源: 950
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助