Установить значение переменной в argparse, если опция передана в - PullRequest
2 голосов
/ 18 июня 2019
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-y', '--y-option', action='store_true')
args = parser.parse_args()

y_option = "enable_y" if args.y_option else ''
print(y_option)

если передано -y или --y-option, я хочу установить переменную y_option в enable_y, иначе пустую строку, я считаю, что это должно быть возможно с argparse, поэтому строка y_option = ... не нужна? Я не мог понять это. Я не могу использовать default, так как он установит значение по умолчанию, даже если -y не передано.

1 Ответ

2 голосов
/ 18 июня 2019
parser.add_argument('-y', '--y-option', action='store_const', const='enable_y', default='')

https://docs.python.org/3/library/argparse.html#action

...