当前位置: 首页 > article >正文

Python list tuple dict set的文件持久操作

pickle模块是Python专用的持久化模块,可以持久化包括自定义类在内的各种数据,比较适合Python本身复杂数据的存储。

目录

引入持久性模块

列表数据持久化

存储

读取

字典数据持久化

存储

读取

总结


引入持久性模块

示例如下:

import pickle

列表数据持久化

存储

设置一个列表数据,存储格式为二进制。

示例如下:

# 列表
list1 = [1, 2, 3, "振长策而御宇内"]
# 元组
# list1 = (1, 2, 3, "振长策而御宇内")
# 集合
# list1 = set([1, 2, 3, "振长策而御宇内"])
path = './file1.txt'
f = open(path, 'wb')
pickle.dump(list1, f)
# 最后关闭文件
f.close()

因为采用的路径是相对路径,会在执行的文件同级下创建file1.txt文件。

内容如下:

读取

读取的时候还是要以二进制方式打开。

示例如下:

path = './file1.txt'
f1 = open(path, 'rb')
tmpList = pickle.load(f1)
f1.close()
print(tmpList)

执行结果:

[1, 2, 3, '振长策而御宇内']

字典数据持久化

存储

设置一个叫张三的资料信息为字典格式,存储到file2.txt中。

示例如下:

dict1 = {'name': 'zhangsan', 'gender': 'man', 'age': 18, 'hobby': '篮球,乒乓球'}
path = './file2.txt'
f = open(path, 'wb')
pickle.dump(dict1, f)
# 最后关闭文件
f.close()

操作与列表持久化一致,创建的文件内容如下:

读取

读取路径改为file2.txt文件,最终读取出的内容还是会恢复存储时的格式。

示例如下:

path = './file2.txt'
f1 = open(path, 'rb')
tmpList2 = pickle.load(f1)
f1.close()
print(tmpList2)
print(type(tmpList2))

执行结果:

{'name': 'zhangsan', 'gender': 'man', 'age': 18, 'hobby': '篮球,乒乓球'}
<class 'dict'>

总结

本文主要介绍了Python中pickle模块,以及使用模块的方法进行了列表和字典类型的存储和读取。元组、集合的操作也是如此,不在做示例。


http://www.kler.cn/news/159630.html

相关文章:

  • acwing算法基础之时空复杂度分析
  • MFC对话框集成OSG无法响应键盘事件
  • 使用Pytorch从零开始实现BERT
  • python爬虫-某公开数据网站实例小记
  • vue中el-upload结合vuedraggable实现图片的上传、排序、删除以及预览等功能
  • 2023-12-01 AndroidR 系统在root目录下新建文件夹和创建链接,编译的时候需要修改sepolicy权限
  • 创建腾讯云存储桶---上传图片--使用cos-sdk完成上传
  • 简介Kadane算法及相关的普通动态规划
  • RepidJson将内容格式化后写入文件
  • 【OpenSSH升级】升级后证书认证登录突然失效
  • C语言能判断一个变量是int还是float吗?
  • 若依框架 前台自己获取登录用户信息
  • 矩阵处理—转圈打印矩阵
  • HomeAssistant如何添加HACS插件实现公网控制米家与HomeKit等智能家居
  • Redis的基本数据类型及常用命令
  • Codeforces Round 913 (Div. 3) A~E(F,G更新中)
  • ES6迭代器
  • Elasticsearch一些函数查询
  • 【头歌系统数据库实验】实验4 MySQL单表查询
  • HarmonyOS学习--TypeScript语言学习(三)
  • 图片点击放大
  • go基础语法10问(2)
  • WPF Live Charts2 自学笔记
  • 20、pytest中的参数化
  • 213. 打家劫舍 II --力扣 --JAVA
  • 华为云obs在java中的使用
  • 应用层自定义协议
  • Jmeter测试移动接口性能 —— 压测
  • MySQL性能调优-2-实际优化案例
  • Redis高效缓存:加速应用性能的利器