Найти - Пользователи
Полная версия: Доступ к атрибутам метода
Начало » Python для новичков » Доступ к атрибутам метода
1
fieryvova
Привет! Я новичок, так что не судите строго за название.

Есть full_info_dictionary.py, который представляет собой набор питоновских словарей вида:
d = {
"key" : "value"
}

Я импортирую его, смотрю его тип:
import full_info_dictionary
type(full_info_dictionary)
#<class 'module'>

После импорта, я хочу пользоваться словарями, которые находятся в full_info_dictionary.py. Это можно сделать так:
full_info_dictionary.d["key"]
Но я хочу передавать ему не конкретный словарь (здесь это d), а имя словаря через аргумент командной строки. То есть:
full_info_dictionary.sys.args[1]["key"]
На это питон ругается следующим:
AttributeError: 'module' object has no attribute 'sys'
Естественно, весть dir(full_info_dictionary) показывает, что такого атрибута действительно нет.

Подскажите, пожалуйста, как это реализовать правильно? Или есть простой альтернативный способ?
alexsis
Лучше пользоваться классами. Не совсем понимаю вот это:
fieryvova
передавать ему не конкретный словарь (здесь это d), а имя словаря через аргумент командной строки. То есть:
full_info_dictionary.sys.args

Что вы хотите получить в итоге?
PooH
getattr(full_info_dictionary, sys.args[1])["key"]
fieryvova
alexsis,
я хочу выполнять питоновский скрипт, передавая ему, в качестве аргумента, название словаря из full_info_dictionary.py, чтобы потом к нему обращаться. То есть, выбор массива определяется аргументом командной строки, а не конкретным указанием его имени в коде скрипта.
python my_script.py dict1
После этого, хочется получить возможность обращаться к словарю full_info_dictionary.dict1 (на месте dict1 может быть любое другое имя словаря).

PooH,
print(getattr(full_info_dictionary, sys.args[1])["key"])
выдает ошибку:
AttributeError: 'module' object has no attribute 'args'
#python3.2
Что я делаю не так?


ATOM
Надо не sys.args а
sys.argv
fieryvova
ATOM, точно! Вот это я промахнулся.

Всем откликнувшимся спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB