2013-07-20 6 views
0

Так что я только начинаю проект. Для начала у меня есть два файла.Печать переменной из другого файла с raw_input

Первый файл - myDict.py. Там я храню переменные, которые я хочу получить. myDict.py:

numbers = [1, 5, 8, 61] 
wallet = [20, 50, 100, 1000] 

Так что у меня есть два списка в этом файле, теперь к mainfile. Я хотел выбрать, какой список я хотел бы распечатать из raw_input, но я не знаю, как я смогу это сделать. Я не получил никуда, потому что не знаю, как это сделать.

Я знаю, что могу сделать это, чтобы напечатать выбранную переменную из myDict.py:

import myDict 
print myDict.wallet 

Но я не могу найти способ сделать это с raw_input.

ответ

0

Вы можете использовать getattr() function, чтобы получить произвольные атрибуты, названные в переменной из модуля:

import myDict 

list_name = 'wallet' 
print getattr(myDict, list_name) 

Просто используйте raw_input() спросить у пользователя либо wallet или numbers и вы установлены!

import myDict 

list_name = raw_input('wallet or numbers? ') 
print getattr(myDict, list_name) 

Вы можете использовать try:/except AttributeError: поймать ошибки:

list_name = raw_input('wallet or numbers? ') 
try: 
    print getattr(myDict, list_name) 
except AttributeError: 
    print "Sorry, no such list" 
+0

Большое спасибо! Не знал об этой функции, но это был тот, который мне нужен! Теперь я могу продолжить проект :) –

Смежные вопросы