#python #python-2.7 #argparse
#python #python-2.7 #argparse
Вопрос:
Я читал о argparse
модуле в Python, а также провел небольшое исследование, но не смог найти чистую технику для передачи строки через аргумент.
В принципе, я хотел бы, чтобы это работало:
myProg -a=FOO
а затем иметь возможность выборки строки "FOO"
.
Я вроде бы заставил это работать, но myProg -a FOO
передал " FOO"
бы в пространство имен arguments . Вероятно, я могу выполнить вторичную проверку, но просто интересно, есть ли правильный способ сделать это, ограничить формат аргумента -a=
и перехватить что-либо еще как ошибку.
Комментарии:
1.
argparse
предполагает командные строки в стиле Unix и-a=FOO
является необычным форматом для этого (обычно это будет-aFOO
or--aaa FOO
). Вторичная проверка, вероятно, ваш лучший вариант.2. @Sneftel Я думаю, вы имели в виду
-a FOO
и--a=FOO
.3. Оба варианта приемлемы, но это хороший момент.
4. Спасибо. Я планирую заменить FOO на путь к каталогу. Это поможет? Может быть, ограничение типа «dir»?
5.
--a='/home/me/dir/afile'
должно сработать. Проверьтеsys.argv
, как оболочка разделяет вашу строку аргумента.