如何从单独文件导入或包含数据结构(例如字典)到Python文件中

54 投票
7 回答
148981 浏览
提问于 2025-04-15 18:26

我知道我可以通过使用 import MyModuleName 来引入一个公共文件中的Python代码,但我该如何只引入一个字典呢?

我现在遇到的问题是,我有一个字典需要放在一个可以编辑的位置,而实际的脚本在另一个文件里。这个字典可能还会被非程序员手动编辑。

script.py

airportName = 'BRISTOL'
myAirportCode = airportCode[airportName]

myDict.py

airportCode = {'ABERDEEN': 'ABZ', 'BELFAST INTERNATIONAL': 'BFS', 'BIRMINGHAM INTERNATIONAL': 'BHX', 'BIRMINGHAM INTL': 'BHX', 'BOURNMOUTH': 'BOH', 'BRISTOL': 'BRS'}

我该如何在 script.py 中访问 airportCode 这个字典呢?

7 个回答

2

其实,它不一定非得是一个 .py 文件。你可以直接这样做:

eval(open("myDict").read())

不过,这样做会有很大的安全隐患。

你可能还想看看 csv 这个模块,它可以用来导入CSV文件。这样用户就可以用电子表格来编辑文件,你也不用教他们Python的语法了。

16

假设你的 import myDict 这个命令能正常运行,你接下来需要做的就是:

from myDict import airportCode
81

只需要导入它

import myDict
print myDict.airportCode

或者,更好的方法是

from myDict import airportCode
print airportCode

只要注意把这两个脚本放在同一个文件夹里(或者创建一个Python包,也就是在一个子文件夹里放一个 __init__.py 文件;或者把script.py的路径加到PYTHONPATH里;不过这些都是“进阶选项”,只要把它放在同一个文件夹里就可以了)。

撰写回答