`
wjm251
  • 浏览: 110300 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

将任何内存中的python对象简单保存到文件中以备恢复:shelve模块

阅读更多
#coding=cp936                      
temppath = u"D:\\你好新建文件夹\\a"
import shelve                      
cache = shelve.open(temppath, 'c') 
cache["hi"] = "ss"                 
cache.close()


这是个简单的方法,shelve.open的模式'c'
表示没有就创建示
cache有着和dict一样的接口,非常好用。

项目中使用(Windows XP系统)发现传入的文件路径如果有中文,必须是utf-8编码的str对象才可以, gbk的str和unicode对象
都不行,感觉不正常,给官网提了个issue,果然有答复补丁。
http://bugs.python.org/issue9393
但我们自己只能用utf-8暂时规避了
分享到:
评论

相关推荐

    Python使用Shelve保存对象方法总结

    在Python编程中,`Shelve`是一个非常有用的模块,它提供了一种简单的方法来保存和恢复Python对象。Shelve模块允许开发者将Python对象持久化到磁盘,使得在程序的后续运行中可以方便地访问这些对象。Shelve模块的特性...

    Python shelve模块实现解析

    Python shelve模块是一个用于数据持久化的库,它允许用户以键值对的形式存储Python对象。这个模块特别适合需要快速存储和读取数据的场景,而且因为其操作方式类似于字典,使得它非常易于学习和使用。 首先,我们...

    python之shelve模块详解.docx

    与`anydbm`类似,`shelve`允许我们将对象保存到磁盘上的文件中,以实现数据的持久化。但是,两者在关键点上有所不同。 1. **相同点** - `shelve`和`anydbm`都是用来将数据存储到磁盘上的类字典对象,它们的默认...

    python3内置持久化模块shelve心得

    `shelve` 模块基于 `pickle` 模块构建,它提供了一种简单而高效的方式来将 Python 对象存储到磁盘文件中。相比于 `pickle` 直接将单个对象序列化为文件,`shelve` 提供了一个类似于字典的接口,这样我们可以更方便地...

    Python数据持久化shelve模块用法分析

    例如,使用pickle模块,可以将任何支持pickle序列化的对象保存到文件中,之后可以从文件中加载这个对象。shelve模块正是基于pickle模块之上的一种封装,它提供了一个简单的字典接口来存储和读取数据。 使用shelve...

    python模块

    * decimal:python中的float使用双精度的二进制浮点编码来表示的,这种编码导致了小数不能被精确的表示,例如0.1实际上内存中为0.100000000000000001,还有3*0.1 == 0.3 为False. decimal就是为了解决类似的问题的,...

    python3 shelve模块的详解

    Python3的`shelve`模块是一个非常实用的工具,它提供了简单的方法来持久化Python对象。这个模块的主要目的是为了能够方便地保存和加载数据,即使数据类型比较复杂,例如字典、列表或者其他自定义的对象。下面我们将...

    python标准库模块

    - **`exceptions`模块**:在早期版本的Python中(Python 2),异常类定义在这个模块中;在Python 3中,这些异常类已经被移到了`builtins`模块。 - **`os`模块**:提供了与操作系统交互的接口,如创建目录、改变当前...

    Python3 shelve对象持久存储原理详解

    在此示例中,通过设置 `writeback=True` 来启用写回功能,这样在关闭 `shelve` 时,修改将自动保存到文件中。 #### 五、特定 `shelve` 类型的选择 `shelve` 模块提供了多种不同的 `shelve` 实现方式,可以根据具体...

    学学Python_59标准模块7 shelve模块

    shelve模版,对应文件StandardLibrary9和databaseShelve,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/85084999

    python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了.pdf

    本文档提供了 Python 编程语言的详细入门教程,从零基础到精通,涵盖了 Python 的各个方面,包括语法、数据类型、函数、模块、面向对象、异常处理、网络编程和并发编程等。 第一章:Python 介绍 * Python 由来和...

    Python面向对象编程指南

    第2部分讲述持久化和序列化,分别介绍了序列化和保存、用Shelve保存和获取对象、用SQLite保存和获取对象、传输和共享对象、配置文件和持久化;第3部分讲述测试、调试、部署和维护,分别介绍了Logging和Warning模块、...

    举例简单讲解Python中的数据存储模块shelve的用法

    shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实例保存到shelve中,下次需要用的时候直接取...

    Python使用shelve模块实现简单数据存储的方法

    首先,shelve模块的核心在于它能够将任何可序列化的Python对象(如字符串、数字、列表、字典等)存储到文件中,并在后续的程序运行时重新加载这些对象。这为开发者提供了一个方便的临时或长期数据存储解决方案。 在...

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

    简单来说,使用者可以将一个列表、字典、或者用户自定义的类实例保存到shelve中,下次需要用的时候直接取出来, 就是一个Python内存对象,不需要像传统数据库一样,先取出数据,然后用这些数据重新构造一遍所需要的...

    python标准库3.7.3.docx

    - **1.3 exceptions 模块**:这个模块在早期版本的Python中用于定义异常类,但在Python 3中已经被整合到Python语言本身。 - **1.4 os 模块**:提供了一组与操作系统交互的功能,例如文件管理、环境变量访问等。 - **...

    Python 3.10.0 官方文档(全).pdf

    8. 数据持久化:Python 语言中能够持久化数据,包括使用pickle模块、shelve模块、sqlite3模块等。 9. 网络编程:Python 语言中能够进行网络编程,包括使用 socket 模块、http 模块、ftp 模块等。 10. 数据分析:...

Global site tag (gtag.js) - Google Analytics