当前位置: 首页> 房产> 建材 > 秦皇岛黄金海岸介绍_公司邮箱后缀有哪些_网站seo推广方案_南京seo排名优化

秦皇岛黄金海岸介绍_公司邮箱后缀有哪些_网站seo推广方案_南京seo排名优化

时间:2025/7/14 7:14:41来源:https://blog.csdn.net/engchina/article/details/144795404 浏览次数:0次
秦皇岛黄金海岸介绍_公司邮箱后缀有哪些_网站seo推广方案_南京seo排名优化

Python 数据持久化

      • 1.1 pickle —— Python对象的序列化
      • 主要功能
      • 使用示例
      • 1.2 copyreg —— 注册pickle支持函数
      • 使用示例
      • 1.3 shelve —— Python对象的持久化
      • 使用示例
      • 1.4 marshal —— 内部使用的对象序列化
      • 使用示例
      • 1.5 dbm —— Unix数据库接口
      • 使用示例

1.1 pickle —— Python对象的序列化

pickle模块用于将Python对象序列化为字节流,以便保存到文件或通过网络传输。

主要功能

  • pickle.dump(obj, file): 将对象序列化并保存到文件。
  • pickle.load(file): 从文件中加载并反序列化对象。

使用示例

import pickle# 保存对象
data = {'name': 'Alice', 'age': 30}
with open('data.pkl', 'wb') as f:pickle.dump(data, f)# 加载对象
with open('data.pkl', 'rb') as f:loaded_data = pickle.load(f)
print(loaded_data)

1.2 copyreg —— 注册pickle支持函数

copyreg模块用于自定义对象的序列化和反序列化方法。

使用示例

import copyreg
import pickleclass MyClass:def __init__(self, name, value):self.name = nameself.value = valuedef pickle_myclass(obj):return MyClass, (obj.name, obj.value)copyreg.pickle(MyClass, pickle_myclass)obj = MyClass("example", 42)
with open("myclass.pkl", "wb") as f:pickle.dump(obj, f)with open("myclass.pkl", "rb") as f:loaded_obj = pickle.load(f)
print(loaded_obj)

1.3 shelve —— Python对象的持久化

shelve模块用于将Python对象持久化到磁盘。

使用示例

import shelve# 保存对象
data = {'name': 'Alice', 'age': 30}
with shelve.open('mydata.shelve') as shelf:shelf['user_info'] = data# 加载对象
with shelve.open('mydata.shelve') as shelf:loaded_data = shelf['user_info']
print(loaded_data)

1.4 marshal —— 内部使用的对象序列化

marshal模块用于Python内部对象的序列化,通常用于保存字节码。

使用示例

import marshal# 保存对象
data = {'name': 'Alice', 'age': 30}
with open('data.marshal', 'wb') as f:marshal.dump(data, f)# 加载对象
with open('data.marshal', 'rb') as f:loaded_data = marshal.load(f)
print(loaded_data)

1.5 dbm —— Unix数据库接口

dbm模块提供了对Unix数据库文件的接口,用于存储键值对。

使用示例

import dbm# 打开数据库
with dbm.open('mydbm', 'c') as db:# 保存数据db['name'] = 'Alice'db['age'] = '30'# 获取数据print(db['name'])  # Aliceprint(db['age'])   # 30# 删除键del db['city']# 获取所有键print(list(db.keys()))  # ['name', 'age']
关键字:秦皇岛黄金海岸介绍_公司邮箱后缀有哪些_网站seo推广方案_南京seo排名优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: