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文件。

内容如下:

Python list tuple dict set的文件持久操作_第1张图片

读取

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

示例如下:

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': '篮球,乒乓球'}

总结

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

你可能感兴趣的:(Python,python,开发语言,后端)