Как преобразовать аргументы командной строки "ключ = значение" в словарь? - PullRequest
0 голосов
/ 08 января 2019

В настоящее время мне нужно реализовать программу на python, которая принимает произвольное количество аргументов командной строки, таких как

python myprog.py x1=12 y3=hello zz=60

и аргументы должны быть преобразованы в словарь как

{"x1": "12", "y3": "hello", "zz": "60"}

Я попробовал модуль argparse , но ключи в аргументах (x1, y3, zz в примере) не могут быть известны заранее, в то время как argparse , похоже, мне нужно добавить аргумент ключи индивидуально, так что я не думаю, что это соответствует этой конкретной ситуации?

Есть идеи, как выполнить преобразование аргументов командной строки в словарь, я что-то пропустил в argparse или мне нужно использовать что-то еще?

1 Ответ

0 голосов
/ 08 января 2019

Вы можете просто разобрать его, обработав строки. например,

import sys

kw_dict = {}
for arg in sys.argv[1:]:
    if '=' in arg:
        sep = arg.find('=')
        key, value = arg[:sep], arg[sep + 1:]
        kw_dict[key] = value
...