如果传入选项,则将值设置为 argparse 中的变量

Set value to variable in argparse if option passed in

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 = ... 行?我想不通。我不能使用默认值,因为即使未传入 -y,它也会设置默认值。

parser.add_argument('-y', '--y-option', action='store_const', const='enable_y', default='')

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