Мне нужна помощь относительно использования argparse. Я хочу добиться того, что мне нужно передать только один аргумент, это может быть одно из следующих: --k, --r, --b, --p,(ignore the rest)
. Если количество аргументов не равно 1, напечатайте «использование» и закройте. Также программа должна знать, какой флаг передан, чтобы создать соответствующий объект. Я несколько раз пробовал, но я не работаю, может ли кто-нибудь дать мне намек на это? Благодарю.нужна помощь для аргумента командной строки python с помощью argparse
ответ
Что вам нужно использовать для достижения этой цели является mutually exclusive group:
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-k', action='store_true')
group.add_argument('-r', action='store_true')
group.add_argument('-b', action='store_true')
group.add_argument('-p', action='store_true')
parser.parse_args()
Как видно в приведенном ниже примере, только один вариант взаимоисключающим группы допускается в то же время :
$ python test.py -k -r -b -p
usage: test.py [-h] [-k | -r | -b | -p]
test.py: error: argument -r: not allowed with argument -k
чтобы проверить, какой флаг был принят, вам просто нужно смотреть на argparse.Namespace
объекта, возвращенного parse_args
методом (флаг р assed будет установлено значение True
).
Хорошая работа! Кажется, что я полностью ошибаюсь, THX для образца! –
Как насчет того, чтобы не использовать argparse
? Это не кажется действительно необходимым.
if len(sys.argv) != 2:
print_usage()
arg = sys.argv[1]
if arg not in ["--k", "--r", "--b", "--p"]:
print_usage()
# Do whatever you want with arg
Это прекрасно! –
- 1. Параметр аргумента командной строки с использованием argparse
- 2. Не удалось получить значение аргумента командной строки с помощью argparse
- 3. Распечатать аргументы командной строки с помощью argparse?
- 4. Получить параметры командной строки с помощью argparse
- 5. python argparse - пропустить список для argparse без командной строки
- 6. нужна помощь для установки аргумента
- 7. Передача аргумента командной строки для строки Python whos содержит метасимвол
- 8. python argparse - передать значения WITHOUT командной строки
- 9. Только один аргумент командной строки с argparse
- 10. Простой пример определения аргумента с помощью argparse?
- 11. Python argparse помощь, как вариант
- 12. argparse необязательного значения для аргумента
- 13. Python: аргумент аргумента командной строки
- 14. Argparse и синтаксис командной строки
- 15. Разбор аргументов командной строки с argparse
- 16. Как разобрать эти аргументы командной строки в Python argparse?
- 17. Может ли argparse обрабатывать более одного позиционного аргумента командной строки?
- 18. нужна помощь с разбиением строки на python
- 19. Как дать программе python два необязательных аргумента целочисленной командной строки?
- 20. Условные аргументы командной строки в Python с использованием argparse
- 21. OpenCV с использованием аргумента командной строки для входного изображения (Python)
- 22. Реализация аргумента командной строки
- 23. Node.js: нужна помощь для создания интерфейса командной строки
- 24. Argparse с двумя значениями для одного аргумента
- 25. argparse для условно необязательного аргумента
- 26. ArrayIndexOutOfBoundsException для аргумента командной строки
- 27. Как проанализировать дату в качестве аргумента с помощью argparse?
- 28. Python argparse - отключить помощь для подкоманд?
- 29. Python argparse: как необязательный и позиционное значение для аргумента
- 30. Нужна помощь для работы моего скрипта python
«Я пробовал несколько раз, но я не работаю»: Можете ли вы опубликовать то, что вы попробовали, и объяснить, что именно не работает? –