将Python字典写入文件

2025 年 3 月 6 日 | 阅读 3 分钟

数据值以键值对的形式存储在字典中。在本教程中,我们将学习如何将字典写入文件。目前,我们只能将字符串写入文件。要写入字典对象,我们必须对其进行序列化或使用 JSON 将其转换为字符串。

可以使用多种技术将字典写入文件,包括 Python 中的 JSON 序列化、手动格式化以及使用 pickle 工具。通过将字典写入文件,可以实现数据持久化以及结构化数据的简单检索或交换。

方法 1:使用 JSON 存储带对象的字典

方法

  • 首先,我们将导入 json 模块。
  • 然后,我们将创建一个字典以将其传递到文本文件中。
  • 然后,我们将文件以写入模式打开。
  • 最后,我们将使用 json.dumps() 进行 JSON 字符串转换。

代码

输出

 
{"Name" : "Anne" , "Age" : 30}    

说明

此 Python 脚本使用 json 模块 将名为 details 的字典创建为 JSON 字符串,然后将其保存到名为 convert.txt 的文件中。字典通过 json.dumps() 函数转换为 JSON 字符串,并使用 with 语句的 write() 方法将 JSON 字符串写入文件。details 字典以一种可存储或通过生成的 JSON 字符串发送的序列化方式表示。

方法 2:使用循环

方法

  • 首先,我们将创建一个字典。
  • 然后,我们将文件以写入模式打开。
  • 在这里,我们将使用一个 for 循环,该循环遍历键值对中的每个键,其中“Name”是键,“Bob”是值。为每个对存储值。
  • 最后,我们将调用 f.write() 函数将输出作为字符串 "%s." 写入。

代码

输出

 
Name: Bob
Age: 28
Degree: Bachelor in Computer Science
University: XYZ Institute of Technology   

说明

这个 Python 脚本 使用带有 items() 函数的 for 循环来遍历 details 字典 中的键值对。它打印每个键值对的键和值,用冒号 (:) 分隔,并在每行末尾添加换行符 (\n)。输出以提供的格式写入名为 myfile.txt 的文件中,字典中的每个键值对占一行。

方法 3:不使用 loads()、dumps() 方法

此处遵循上述步骤;但是,在 write() 方法中,我们使用 str() 方法将提供的字典转换为字符串。

输出

 
{"Name" : "Anne" , "Age" : 30}   

说明

代码初始化了名为 details 的字典的“Name”和“Age”键。之后,它以写入模式打开一个名为“file.txt”的文件,并将 details 字典的字符串表示形式添加到其中。写入文件的字符串表示字典的内容是生成的输出。