Я хочу использовать argparse для синтаксического анализа командных строк формы "arg = val" Например, использование будет:
script.py conf_dir=/tmp/good_conf
Чтобы добиться этого, я делаю это:
desc = "details"
parser = argparse.ArgumentParser(description=desc, add_help=False)
args = parser.add_argument("conf_dir")
args = parser.parse_args("conf_dir=FOO".split())
args = parser.parse_args()
print args.conf_dir
Но проблема в том, что при вызове script с:
python script.py conf_dir=/tmp/good_conf
Я получаю:
conf_dir=/tmp/good_conf
Где, как я ожидаю,
/tmp/good_conf
Итак, возникает вопрос: могу ли я использовать argparse для разбора строки cmd, которая содержит пары значений имени? Любые подсказки?
Изменить: причина, по которой я хочу это сделать, а не что-то вроде --conf_dir =/tmp/good_dir, - это потому, что есть другие инструменты (написанные на другом языке), в которых используется аргумент conf_dir =/tmp/good_dir. Чтобы поддерживать согласованность, я должен был разбирать аргументы таким образом.