shelve 用来持久化任意的Python对象实例代码

yizhihongxing

Shelve是Python内置的一个持久化模块,可用于将Python对象实例代码转化为字节流(binary stream)并将其写入文件,以便后续可以重新加载到内存中。

Shelve的使用分为以下几个步骤:

  1. 打开shelve文件:使用shelve.open函数打开要写入的shelve文件,可以指定模式为"r"(只读)、"w"(写入)、"c"(写入前检查),默认为"c"。
import shelve

with shelve.open("my_shelve") as my_shelve:
    # your code here
  1. 将Python对象实例代码写入shelve:使用shelve的__setitem__方法将Python对象实例代码存入shelve。键为任意字符串,值为要存储的Python对象实例代码。
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person("Tom", 18)
person2 = Person("Lucy", 20)

with shelve.open("my_shelve") as my_shelve:
    my_shelve["person1"] = person1
    my_shelve["person2"] = person2
  1. 从shelve加载Python对象实例代码:使用shelve的__getitem__方法从shelve文件中加载Python对象实例代码。
with shelve.open("my_shelve") as my_shelve:
    print(my_shelve["person1"].name)  # Tom
    print(my_shelve["person2"].age)  # 20
  1. 关闭shelve文件:使用shelve的close方法关闭shelve文件。
with shelve.open("my_shelve") as my_shelve:
    # your code here

my_shelve.close()

示例1:存储列表到shelve文件

import shelve

list_a = [1, 2, 3]

with shelve.open("my_shelve") as my_shelve:
    my_shelve["list_a"] = list_a

with shelve.open("my_shelve") as my_shelve:
    print(my_shelve["list_a"])  # [1, 2, 3]

示例2:存储字典到shelve文件

import shelve

dict_a = {"name": "Alice", "age": 25}

with shelve.open("my_shelve") as my_shelve:
    my_shelve["dict_a"] = dict_a

with shelve.open("my_shelve") as my_shelve:
    print(my_shelve["dict_a"]["name"])  # Alice

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:shelve 用来持久化任意的Python对象实例代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • python 爬取微信文章

    下面我来为你详细讲解“Python爬取微信文章”的攻略。 本文主要借助Python第三方库beautifulsoup4和requests实现微信公众号文章的爬取。 步骤一:获取微信公众号的历史消息链接 要想爬取微信公众号的文章,首先需要获取该公众号最新或历史消息链接,可以在微信公众平台上手动获取,或者使用第三方API获取。 步骤二:获取每篇文章的链接 通过历…

    python 2023年6月3日
    00
  • Python竟能画这么漂亮的花,帅呆了(代码分享)

    这里是关于“Python竟能画这么漂亮的花,帅呆了(代码分享)”完整攻略的详细讲解。 简介 “Python竟能画这么漂亮的花,帅呆了(代码分享)”是一篇使用Python绘制花朵的文章。通过使用Python的turtle库,作者展示了如何通过一些简单的代码,绘制出美丽的花朵图案。 准备工作 在进行绘图前,需要引入turtle库,可以通过以下代码来导入: imp…

    python 2023年5月19日
    00
  • 解决Python获取字典dict中不存在的值时出错问题

    当我们在Python中尝试获取一个字典中的不存在的值时,程序会报错,这是因为该键没有在字典中定义。以下是如何解决此类问题的完整攻略: 使用get方法获取值 使用get方法可以避免因字典中不存在的键而导致的错误。该方法接收一个键值参数,如果字典中存在该键,它将返回其相应的值,否则返回指定的默认值。例如: my_dict = {‘name’: ‘Tom’, ‘a…

    python 2023年5月13日
    00
  • Python中BeautifuSoup库的用法使用详解

    Python中BeautifulSoup库的用法使用详解 本文将详细讲解如何使用Python中的BeautifulSoup库进行HTML和XML的解析。我们将从环境配置开始,一步步地介绍如何使用BeautifulSoup库解析HTML和XML,并提取所需的信息。 环境配置 在使用BeautifulSoup库进行HTML和XML解析之前,我们需要先进行环境配置…

    python 2023年5月15日
    00
  • 整理Python最基本的操作字典的方法

    当我们在Python中处理字典数据时,会涉及到一些最基本的操作,如增加键值对、修改键值对、删除键值对、清空字典、遍历字典等操作。本文将详细讲解这些操作在Python中的实现方式。 字典基本操作 创建字典及基本访问操作 Python中创建字典和访问字典中的元素都非常简单,可以用{}或dict()方法来创建字典,用键来访问字典中的值。如下面的代码: # 创建字典…

    python 2023年5月13日
    00
  • 详解Python打包分发工具setuptools

    详解Python打包分发工具setuptools 简介 setuptools 是 Python 中用来打包和分发代码的工具。它可以方便的管理依赖、安装、升级、卸载等操作。本文将详细介绍使用 setuptools 进行打包分发的完整攻略,包括安装、配置、打包、上传到 PyPI 等内容,并提供两个示例说明。 安装 使用 setuptools 需要先安装它。可以使…

    python 2023年6月3日
    00
  • python读取excel数据绘制简单曲线图的完整步骤记录

    下面我来详细讲解“Python读取Excel数据绘制简单曲线图的完整步骤记录”的实例教程,包含以下步骤: 准备工作 确定使用的Python版本以及第三方库。本文以Python 3为例,使用Pandas、Matplotlib和Numpy库。 导入第三方库。可以使用 !pip install pandas matplotlib numpy 命令来安装这些库。 在…

    python 2023年5月13日
    00
  • python爬虫将js转化成json实现示例

    关于“python爬虫将js转化成json实现示例”的完整攻略,可以从以下步骤开始: 步骤1:爬取包含javascript代码的页面 首先,需要使用requests库向包含javascript代码的页面发起请求,并获取页面的html代码。接下来,需要使用BeautifulSoup库(或其它解析库)解析html代码,找到包含需要转化的javascript代码的…

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