Нужно передавать в скрипт данные либо из файла, либо из командной строки.
Использую конструкцию:
parser_write = subparsers.add_parser('write', help='Write вфеф')
parser_write.add_argument('address', type=int)
parser_write_data = parser_write.add_mutually_exclusive_group(required=True)
parser_write_data.add_argument('-f', help='Data as binary file', type=argparse.FileType(), metavar=('FILE'))
parser_write_data.add_argument('data', help='Data as hex string', nargs='?')
В принципе, все работает, как ожидалось, но некрасивый вывод Help:
usage: script.py write [-h] [-f FILE] address [data]
positional arguments:
address
data Data as hex string
optional arguments:
-h, --help show this help message and exit
-f FILE Data as binary file
Хочу, чтобы data и file были объединены в конструкцию типа
usage: script.py write [-h] address {data|-f FILE}
Такое возможно?