У меня есть сценарий использования, в котором я хотел бы разрешить пользователю указывать нет, частичную или полную настройку некоторых путей сохранения. Так что-то вроде:
my_parser.add_argument(
"-o",
"--output",
help="Paths where to save stuff",
type=str,
required=False,
const=['save1', 'save2'],
nargs="?",
default=None
)
Так что я бы хотел разобраться в следующих ситуациях:
- Пользователь ничего не предоставляет. Затем я использую
save1
и save2
по умолчанию; - Пользователь предоставляет только одно из двух мест сохранения. Тогда мне нужно будет определить, какой из них указан, и использовать другое значение по умолчанию
- . Пользователь предоставляет оба места сохранения
Мне интересно:
- Это хорошая практика? Может быть, мне следует ограничить вариант использования либо использованием значений по умолчанию, либо указанием обоих мест сохранения?
- Если это приемлемо, как я могу справиться с этим с помощью argparse? Я вижу, как я мог бы использовать параметр
append_const
, чтобы проверить, были ли предоставлены пользователем значения 1 или 2, но не то, как я могу различить guish, если он имеет в виду save1
местоположение или save2
местоположение. Кроме того, что если в какой-то момент мне нужно будет хранить больше вещей в append_const
? Это может стать сложным