从模块中读取字典

时间:2011-04-01 14:14:02

标签: python dictionary module


我有以下模块root_file.py。此文件包含多个块,例如。

Name = {
'1':'a'
'2':'b'
'3':'c'
}

在我正在使用的其他文件中

f1= __import__('root_file')

现在的要求是我必须在运行时使用类似的变量读取值a,b,c 阅读a

id=1
app=Name
print f1[app][id]

但是收到错误

TypeError: unsubscriptable object

2 个答案:

答案 0 :(得分:2)

怎么样

import root_file as f1

id = 1
app = 'Name'
print getattr(f1, app)[id] # or f1.Name[id]

答案 1 :(得分:1)

呃,好吧,如果我明白你要做什么:

在root_file.py中

Name = {
 '1':'a', #note the commas here!
 '2':'b', #and here
 '3':'c', #the last one is optional
}

然后,在另一个文件中:

import root_file as mymodule
mydict = getattr(mymodule, "Name")
# "Name" could be very well be stored in a variable
# now mydict eqauls Name from root_file
# and you can access its properties, e.g.
mydict['2'] == 'b' # is a True statement