python pickle存储、读取大数据量列表、字典数据的方法

  • Post category:Python

存储、读取大数据量的列表、字典数据可以使用Python中的pickle模块。pickle模块可以将Python对象序列化为二进制形式存储在文件中,以便稍后重新使用该对象。

存储

使用pickle模块存储Python对象需要按以下步骤进行:

1.首先,导入pickle模块

import pickle

2.然后,准备好要存储的Python对象,可以是列表或字典等数据类型。例如:

data = [1, 2, 3, 4, 5]

3.接着,使用pickle.dump()函数将Python对象序列化为二进制文件存储。例如:

with open('data.pkl', 'wb') as f:
    pickle.dump(data, f)

以上代码将列表data存储到data.pkl文件中。其中with open是Python中一种常用的文件打开方式,’wb’表示以二进制方式写入文件。

读取

使用pickle模块读取Python对象需要按以下步骤进行:

1.首先,导入pickle模块。

import pickle

2.然后,通过open()函数打开先前存储的data.pkl文件。

with open('data.pkl', 'rb') as f:
    data = pickle.load(f)

3.使用pickle.load()函数从文件中反序列化Python对象。例如,可以将反序列化后的对象赋值给变量data。

注意:读取时需要使用’rb’以二进制方式打开文件。

示例

以下示例是数据量比较大的列表和字典:

# 存储大列表数据
big_list = list(range(1000000))
with open('big_list.pkl', 'wb') as f:
    pickle.dump(big_list, f)

# 读取大列表数据
with open('big_list.pkl', 'rb') as f:
    big_list = pickle.load(f)

# 存储大字典数据
big_dict = {str(i): i for i in range(1000000)}
with open('big_dict.pkl', 'wb') as f:
    pickle.dump(big_dict, f)

# 读取大字典数据
with open('big_dict.pkl', 'rb') as f:
    big_dict = pickle.load(f)

以上代码可以存储和读取数据量为1000000的大列表和大字典数据。

总结:使用pickle模块可以方便地存储和读取大数据量的Python列表和字典。但需要注意的是,pickle存储的文件是二进制文件,无法直接在文本编辑器中查看文件内容。