Я пытаюсь передать словарь, состоящий из аргументов, в сценарий python, а затем использовать этот словарь в сценарии. Я сохраняю словарь в переменной окружения воздушного потока.
Например, сценарий должен запускаться в командной строке следующим образом: python test.py dict_name
Имя_диапазона выглядит следующим образом:
{ "path": "firstlevel/secondlevel", "name": "xyz", "key": "12345" }
И я Мне нужно использовать ключи из вышеупомянутого словаря вместо фактических значений в моем python скрипте, т.е. test.py
Я попытался использовать data = sys.argv [1] в функции init класса. Но это дает мне список, а не словесно. И таким образом, использование возможностей словаря невозможно.
def __init__(self, data = sys.argv[1]):
print data
Я создаю экземпляр объекта, подобного этому,
f = class_name(sys.argv[1:])
Вывод, который я получаю,
['path', ':', 'firstlevel/secondlevel', 'name', ':', 'xyz', 'key', ':', '12345']
Моя цель - получить данные в виде словаря, а не списка в скрипте python, потому что я хочу заменить значения в моем скрипте python только ключами.
Вот пример использования для объяснить мою точку зрения в более четкой форме.
fun(name = 'xyz', key = 12345)
To
fun(sys.argv['name'], sys.argv['key'])
Traceback
Traceback (последний вызов последний) : Файл «test.py», строка 13, в objec_name = class_name (sys.argv [1:]) Файл «test.py», строка 6, в init data = json .loads (sys.argv [1] ) Файл "C: \ Users \ Sarve sh Pandey \ AppData \ Local \ Programs \ Python \ Python38 \ lib \ json_init_.py", строка 357, в загрузках возвращает файл _default_decoder.decode (s) "* 1042 * : \ Users \ Sarve sh Pandey \ AppData \ Local \ Programs \ Python \ Python38 \ lib \ json \ decoder.py ", строка 337, в файле decode obj, end = self.raw_decode (s, idx = _w (s, 0) .end ())