字典使用键值对来存储数据。我们的任务是需要将字典保存到文件中,以便我们在稍后使用,即使在程序关闭之后也是如此。然而,字典不能直接写入文件。它必须首先转换为一种文件可以存储且稍后读取的格式。让我们来探讨实现这一目标的不同方法。
Using json.dump()
json.dump()函数可以直接将字典作为 JSON 对象写入文件,这使得后续的读取和检索变得非常容易。由于 JSON 是一种基于文本的格式,它可以很容易地被打开,并且更适合用于提高可读性。
Python
CODEBLOCK_e8fbbf85
输出:
!outputdata.json 文件
解释说明:在定义字典之后,以写入模式 (‘w‘) 打开了一个名为 ‘data.json‘ 的文件,允许数据存储在其中。最后,使用 json.dump(d, f) 函数将字典直接以 JSON 格式写入文件,确保数据结构化,以便日后轻松检索。
目录
- Using json.dumps()
- Using pickle.dump()
- Using str()
Using json.dumps()
json.dumps()函数将字典转换为 JSON 格式的字符串,然后可以使用 write() 将其手动写入文件。这允许添加格式化选项,例如缩进,以提高可读性。
Python
CODEBLOCK_5695f31f
输出:
!outputdata.json 文件
解释说明: json.dumps(d, indent=4) 函数被用来将字典转换为带有缩进的 JSON 格式字符串,以提高可读性。最后,使用 write() 方法将此格式化的 JSON 字符串存储在文件中,确保数据在后续访问时保持结构化且易于阅读。
Using pickle.dump()
pickle模块允许我们以二进制格式保存字典,从而保留其精确的结构。dump() 函数对字典进行序列化并将其写入二进制文件,稍后可以使用 load() 将其检索回来。
Python
CODEBLOCK_8318989c
输出:
!Outputdata.pkl 文件
{‘Name‘: ‘bob‘, ‘Age‘: 28}
解释说明: pickle.dump(d, file) 函数对字典进行序列化并将其写入文件,从而保留了其结构。稍后,以二进制读取模式 (‘rb‘) 打开同一个文件,并使用 pickle.load(file) 函数对存储的数据进行反序列化,将其转换回字典。
Using str()
将字典存储在文件中的最简单方法是使用str()将其转换为字符串,然后使用 write() 写入。然而,这种方法不提供结构化的格式,并且在读回数据时需要额外的处理。
Python
CODEBLOCK_3aa9793d
输出:
!Outputdata.txt 文件
解释说明: str(d) 函数被用来将字典转换为字符串格式,然后使用 write() 方法将其写入文件。