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

yizhihongxing

下面就来详细讲解一下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 多线程之threading 模块的使用

    Python 多线程之threading 模块的使用 在 Python 中,使用 threading 模块可以方便地实现多线程编程,使用多线程可以提高程序的处理效率。 threading 模块的常用方法 threading.Thread(target, args, kwargs) 创建一个线程对象,target 是线程函数,args 和 kwargs 分别是…

    python 2023年5月18日
    00
  • Python实现的三层BP神经网络算法示例

    以下是关于“Python实现的三层BP神经网络算法示例”的完整攻略: 简介 BP神经网络是一种常见的人工神经网络,它可以用于分类和回归问题。本教程将介绍如何使用Python实现三层BP神经网络算法,并讨论如何使用该算法进行分类。 步骤 1.导入库和数据 首先,我们需要导入必要的库,包括numpy和pandas。在Python中,可以使用以下代码导入这些库: …

    python 2023年5月14日
    00
  • 使用 Python 破解压缩文件的密码的思路详解

    首先需要安装 Python ,本文以 Python 3 为例。安装完成后,需要安装 zipcrack 库。zipcrack 是一个用于破解 zip 压缩文件密码的 Python 库,我们可以通过 pip 包管理器安装 zipcrack 库。 安装 zipcrack 库的命令如下: pip install zipcrack 编写基本代码 我们先来编写基本代码,…

    python 2023年6月3日
    00
  • 打印语句python 2.7上的语法无效[重复]

    【问题标题】:invalid syntax on print statement python 2.7 [duplicate]打印语句python 2.7上的语法无效[重复] 【发布时间】:2023-04-06 12:13:01 【问题描述】: 我有一些代码可以测试我编写的其他代码(在 ipython 笔记本中)。 print_closest = lambd…

    Python开发 2023年4月6日
    00
  • 浅谈Python 命令行参数argparse写入图片路径操作

    我们来详细讲解一下“浅谈Python 命令行参数argparse写入图片路径操作”的完整攻略。 介绍 Python是一种易于学习和使用的编程语言,广泛用于Web开发、科学计算、人工智能等领域。命令行参数是每个需要进行交互的程序都必须考虑的问题。Python中提供了argparse模块,可以轻松地解析命令行参数,使得程序更简洁、易于使用。 在本文中,我们将会通…

    python 2023年6月3日
    00
  • Python中threading库实现线程锁与释放锁

    当多个线程需要同时访问同一个共享资源时,可能会导致数据不一致或者丢失。为了避免这个问题,就需要使用线程锁来互斥访问共享资源。Python中提供了threading库来实现多线程编程,其中线程锁的实现方式非常简单。 线程锁的基本使用方法 Python中,可以使用threading.Lock()方法来创建线程锁,然后使用acquire()方法来获得锁,使用rel…

    python 2023年5月19日
    00
  • Python基本运算几何运算处理数字图像示例

    Python基本运算、几何运算、处理数字图像示例 Python是一种高级编程语言,它具有简单易学、功能强大、可扩展性强等特点。本文将介绍Python中的基本运算、几何运算和数字图像处理,并提供两个示例说明。 1. 基本运算 Python中的基本运算包括加、减、乘、除、取模、幂等运算。这些运算符可以用于数字、字符串、列表、元组等数据类型。 1.1 数字运算 a…

    python 2023年5月14日
    00
  • Python如何解决secure_filename对中文不支持问题

    Python中的secure_filename函数是用于生成安全的文件名的函数,但是在处理中文文件名时可能会出现不支持的问题。以下是处理该问题的完整攻略: 将中文文件名转换为拼音 可以使用第三方库PyPI的pyinyin库将中文文件名转换为拼音,在生成文件名时调用secure_filename函数即可。示例代码如下: from pyinyin import …

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