чтение словаря из модуля - PullRequest
0 голосов
/ 01 апреля 2011


У меня есть следующий модуль 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 ]

2 голосов
/ 01 апреля 2011

Как насчет

import root_file as f1

id = 1
app = 'Name'
print getattr(f1, app)[id] # or f1.Name[id]
1 голос
/ 01 апреля 2011

Э-э, хорошо, если я понимаю, что вы пытаетесь сделать:

В 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...