Я хочу использовать 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
Но проблема в том, что при вызове скрипта с:
python script.py conf_dir=/tmp/good_conf
я получаю:
conf_dir=/tmp/good_conf
Где, как я ожидал
/tmp/good_conf
Итак, вопрос: могу ли я использовать argparse для анализа строки cmd, содержащей пары имя-значение? Есть подсказки?
Edit: Причина, по которой я хочу сделать это, а не что-то вроде --conf_dir = / tmp / good_dir, заключается в том, что есть другие инструменты (написанные на другом языке), которые используют стиль conf_dir = / tmp / good_dir аргументов. Для обеспечения согласованности я должен был анализировать аргументы таким образом.