Использование argparse для анализа аргументов формы «arg = val»

Я хочу использовать 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 аргументов. Для обеспечения согласованности я должен был анализировать аргументы таким образом.

19
задан tshepang 3 March 2014 в 23:17
поделиться