如何从单独文件导入或包含数据结构(例如字典)到Python文件中
我知道我可以通过使用 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里;不过这些都是“进阶选项”,只要把它放在同一个文件夹里就可以了)。