Обновленный ответ:
Вы можете поместить знак равенства, когда вы его назовете:
python Application.py -env="-env"
Оригинальный ответ:
У меня тоже есть у вас были проблемы, которые вы делаете, но есть способ обхода в argparse, который является методом parse_known_args . Это позволит всем аргументам, которые вы не определили, пройти через парсер с предположением, что вы будете использовать их для подпроцесса. Недостатки в том, что вы не будете получать сообщения об ошибках с плохими аргументами, и вам нужно будет убедиться, что между вашими параметрами и параметрами вашего подпроцесса нет конфликта.
Другой способ может заключаться в том, чтобы заставить пользователя для использования плюса вместо минуса:
python Application.py -e "+s WHATEVER +e COOL STUFF"
, а затем вы меняете «+» на «-» в пост-обработке перед тем, как перейти к вашему подпроцессу.
Вы можете сделать это с помощью комбинации столбцов и кодировок x. Вот пример с данными о населении наборов данных vega ( vega editor link ):
{
"data": {"url": "data/population.json"},
"mark": {
"type": "boxplot",
"extent": "min-max"
},
"encoding": {
"column": {"field": "age","type": "ordinal"},
"y": {
"field": "people",
"type": "quantitative",
"axis": {"title": "population"}
},
"x": {
"field": "sex",
"type": "nominal"
},
"color": {
"field": "sex",
"type": "nominal"
}
}
}