Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析

下面就来详细讲解一下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技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 详解Python Counter对象的求和计算

    当我们需要对一个列表中所有元素进行计数时,Python标准库中的Counter对象是一个十分有用的工具。同时,Counter对象还具备对元素出现频率计数,求Top-N元素等多种常见操作的支持。本文将重点讲解如何使用Counter对象进行求和计算,以及附带两个例子进行说明。 Python Counter对象求和计算的基本使用 Counter对象可以接收任意可迭…

    python-answer 2023年3月25日
    00
  • python入门课程第三讲之编码规范知多少

    Python入门课程第三讲之编码规范知多少 在Python编程中,编码规范是非常重要的,它可以提高代码的可读性、可维性和可扩展性。在本文中,我们将详细讲解Python编码规范的基本知识,包括命名规范、缩规范、注释规范等。 命名规范 在Python编程中,命名规范是非常重要的。下面是一些常见的命名规范: 变量名应该使用小写字母,单词之间使用下划线分隔。 函数名…

    python 2023年5月13日
    00
  • Python3生成手写体数字方法

    Python3生成手写体数字方法完整攻略 简介 在机器学习中,手写体数字是一个经典的数据集,因此在自然语言处理和图像识别等领域需要生成手写数字来模拟各种场景。由于现成模板数量较少,因此需要一种方法来生成手写数字。 解决方案 通过使用Python3,我们可以使用TensorFlow和MNIST数据集生成手写数字的图像。 步骤 1:安装TensorFlow 打开…

    python 2023年6月3日
    00
  • python自动12306抢票软件实现代码

    下面是详细讲解python自动12306抢票软件实现代码的攻略。 1. 网络爬虫 首先,我们需要用网络爬虫获取12306网站的车次余票信息。这里我们推荐使用Python的requests库和BeautifulSoup库获取网页内容和解析HTML。代码示例如下: import requests from bs4 import BeautifulSoup # 获…

    python 2023年5月18日
    00
  • 用Python进行行为驱动开发的入门教程

    用Python进行行为驱动开发的入门教程 1.了解BDD BDD (Behavior-Driven Development) 全称行为驱动开发,是一种敏捷软件开发方法论,旨在通过对软件行为的规范化测试,提高产品质量和开发效率。 BDD 的核心理念是将业务需求转化为可执行的测试用例,以此作为分析需求、编写测试用例、开发代码、测试验收等工作的基础。BDD 通过结…

    python 2023年5月19日
    00
  • Python playwright学习之自动录制生成脚本

    下面是详细讲解 “Python playwright 学习之自动录制生成脚本” 的攻略。 简介 Python Playwright 是一种自动化测试工具,其提供了多种编程语言客户端,其中 Python 是其中之一。使用 Python Playwright,可以帮助我们更加快速、高效地编写自动化测试脚本。在本文中,我们将介绍如何使用 Python Playwr…

    python 2023年5月19日
    00
  • 类在python中似乎不是全局的

    【问题标题】:Class does not seem to be Global in python类在python中似乎不是全局的 【发布时间】:2023-04-04 04:06:01 【问题描述】: 我设置了一个类,它在一个 if 语句中接受并打印出变量。 class npc: #class for creating mooks def __init__(…

    Python开发 2023年4月6日
    00
  • python try except返回异常的信息字符串代码实例

    当 Python 程序出现异常时,可以使用 try except 语句来处理异常。在 try 代码块中编写可能会出现异常的代码,在 except 代码块中处理异常,使程序出现异常后不会直接崩溃退出。在 except 代码块中,可以使用 str()、repr() 或 format() 函数等方法将异常对象转换为字符串返回异常信息。 下面是一个处理除零异常的示例…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部