You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:如何将字典保存至独立.py模块并实现跨脚本导入?

嘿,我懂你想把生成的字典做成独立的Python模块,这样其他脚本能直接通过import调用的需求~用JSON的思路其实走偏了哦,因为JSON格式的文件没法直接作为Python模块导入——你用json.dump写出来的dict_file.py会是纯JSON文本,不是合法的Python代码,import的时候肯定会报错。

给你两个更靠谱的方案:

方案一:直接写入合法的Python代码

这是最直接的方式,把字典以Python变量的形式写入文件,生成的模块能直接被import使用。

示例代码:

this_dict = {
    "Key1": "Value1",
    "Key2": "Value2",
    "Key3": {"Subkey1": "Subvalue1", "Subkey2": "Subvalue2"}
}

# 把字典写入Python模块文件
with open("dict_file.py", "w") as f:
    # 用!r保证输出是合法的Python语法,嵌套结构也能正确保留
    f.write(f"my_dict = {this_dict!r}\n")

使用的时候超简单:在其他脚本里直接写

import dict_file
print(dict_file.my_dict["Key3"]["Subkey1"])  # 输出 Subvalue1
方案二:用pprint让生成的模块更易读

如果你的字典结构很复杂,想让生成的dict_file.py代码更规整好看,可以用pprint模块来格式化输出:

import pprint

this_dict = {
    "Key1": "Value1",
    "Key2": "Value2",
    "Key3": {"Subkey1": "Subvalue1", "Subkey2": "Subvalue2"}
}

with open("dict_file.py", "w") as f:
    f.write("my_dict = ")
    # 把字典格式化后写入,缩进设为4让结构更清晰
    pprint.pprint(this_dict, stream=f, indent=4)

生成的dict_file.py会有整齐的缩进,方便你后续查看或修改字典内容。

为啥不推荐用JSON?

你之前尝试的JSON方法,生成的文件内容是这样的:

{"Key1": "Value1", "Key2": "Value2", "Key3": {"Subkey1": "Subvalue1", "Subkey2": "Subvalue2"}}

这不是合法的Python模块代码,import时会触发SyntaxError。如果一定要用JSON存储,那其他脚本里得先读文件再解析,比如:

import json

with open("dict_file.json", "r") as f:
    my_dict = json.load(f)

但这样就失去了直接import模块的便捷性,完全没必要绕这个弯~

内容的提问来源于stack exchange,提问作者Quantum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:32:56