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

本文详细介绍了如何在Python中使用pickle模块进行列表和字典的数据持久化,包括存储和读取的过程,以及如何处理不同数据类型。

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模块,以及使用模块的方法进行了列表和字典类型的存储和读取。元组、集合的操作也是如此,不在做示例。

Python中的list(列表),tuple(元组),dict(字典)和set(集合)是常见的数据结构。 1. 列表(list)是一个可变的、有序的元素集合。可以通过方括号[]来创建一个列表,列表中的元素可以是任意类型,并且可以重复。列表提供了丰富的操作方法,如添加元素、删除元素、获取元素等。 2. 元组(tuple)是一个不可变的、有序的元素集合。可以通过小括号()来创建一个元组,元组中的元素可以是任意类型。元组一旦创建后,不能修改其元素的值。元组通常用于存储不可变的数据,如坐标位置、颜色等。 3. 字典(dict)是一种键值对(key-value)的数据结构。可以通过花括号{}来创建一个字典,字典中的元素是无序的,并且每个元素由一个键和对应的值组成。字典中的键必须是唯一的,而值可以是任意类型。字典提供了根据键获取值、添加键值对、删除键值对等操作。 4. 集合(set)是一个无序的、不重复的元素集合。可以通过花括号{}或set()函数来创建一个集合,集合中的元素不能重复。集合提供了并集、交集、差集等常用的数学运算操作,同时还支持元素的添加、删除等操作。 在编程中,根据具体的需求选择使用合适的数据结构能够更高效地处理数据,并且提供相应的操作方法方便开发。以上是对Python中常见的列表、元组、字典和集合的简要介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值