Как вы относитесь к нескольким входам через argparse
, особенно когда имеются входы по умолчанию и дополнительные входы?Как установить множество переменных с помощью argparse, как обязательных, так и необязательных переменных?
В моем сценарии file.py
, пользователи должны ввести два параметра, которые у меня есть в списке
parameters_list = [parameter1, parameter2, parameter3]
parameter1 = "" # normally in the script, I would set these
parameter2 = ""
parameter3 = ""
Третий параметр parameter3
является параметром по умолчанию.
Сейчас, на мой взгляд, пользователи могут включать флаги во время выполнения python file.py --parameters = 'parameter1', 'parameter2'
parser = argparse.ArgumentParser()
parser.add_argument('parameters', nargs = '*', help = 'input program parameters')
params = parser.parse_args()
Однако
Это не анализирует, каким образом пользователи имеют входные параметры, как:
--parameters = 'parameter1', 'parameter2'
Как вы относитесь к параметру по умолчанию
parameter3
?На данный момент это будет вызывать при ошибке, так как переменная
parameter3
определена в скрипте, но не определенаargparse
.
И если входных пространств пользователя, каким будет результат? – ShanZhengYang
Глядя на документацию, она все равно будет работать, но 'params = params.split (',')' будет терпеть неудачу. "* *. Все имеющиеся аргументы командной строки собраны в список." –
Вы говорите: 'parse_args()' выполняет только одно задание, а 'parse_args(). Split (',')' будет анализировать эти значения неправильно? – ShanZhengYang