我正在编写一个将数据存储在字典对象中的程序,但这些数据需要在程序执行期间的某个时间点保存,并在程序再次运行时重新加载到字典对象中。我该如何将字典对象转换为可以写入文件并重新加载到字典对象的字符串?希望这将支持包含字典的字典。
要将字典转换为可以写入文件并稍后加载回字典对象的字符串,您可以使用jsonPython 中的模块。此模块提供了一种将字典序列化(转换)为 JSON 格式的字符串的简单方法,该字符串可以保存到文件中。您还可以从文件中读取 JSON 并将其反序列化(转换)回字典。
json
您可以按照以下方式操作:
json.dump()
json.load()
这是一个完整的例子:
import json # Sample dictionary (can contain nested dictionaries) data = { "name": "Alice", "age": 30, "skills": { "python": True, "javascript": False } } # Function to save the dictionary to a file def save_dict_to_file(dictionary, file_path): with open(file_path, 'w') as f: json.dump(dictionary, f) # Function to load the dictionary from a file def load_dict_from_file(file_path): with open(file_path, 'r') as f: return json.load(f) # Specify the file path file_path = 'data.json' # Save the dictionary to a file save_dict_to_file(data, file_path) # Load the dictionary back from the file loaded_data = load_dict_from_file(file_path) # Print the loaded data print(loaded_data)
json.dump(dictionary, file)
json.load(file)
json 模块是一个很好的解决方案。它比 pickle 的优点是只产生纯文本输出,并且跨平台、跨版本。
import json json.dumps(dict)