Я только начал использовать пакет python click, и мне было интересно, как параметры щелчка анализируются в функции вызова. Сначала я думал, что это было сделано последовательно, но потом обнаружил, что это не так. Вот пример:
@click.command(help=' A Tool ')
@click.version_option(version=__version__)
@click.option(
'-i',
'--input-img',
help='input image',
type=str)
@click.option(
'-c',
'--cfg-file',
default='cfg.yaml',
help='config file',
type=str)
@click.option(
'-b',
'--board-ip',
help='board ip ',
type=str)
def cmd_main(cfg_file, board_ip, input_img):
print("input_img: ", input_img)
print("cfg_file: ", cfg_file)
print("board_ip: ", board_ip)
Затем я запустил этот инструмент и получил результат:
hb_model_verifier -i input_image --cfg-file config_file -b 10.10.1
input_img: input_image
cfg_file: config_file
board_ip: 10.10.1
Похоже, что на последовательность не повлияла испорченная последовательность в "cmd_main" (cfg_file, board_ip, input_img) ", также мы можем заметить, что" input_image "и параметр" input-img "не совсем то же самое. Итак, мой вопрос: как инструмент выбора кликов соответствует им? Он проверяет только буквы и игнорирует da sh и подчеркивание?