Я використовую наступний простий код для розбору деяких аргументів; зауважте, що один із них потрібен. На жаль, коли користувач запускає скрипт, не надаючи аргумент, відображений текст використання / довідки не вказує на наявність необов'язкового аргументу, який я вважаю дуже заплутаним. Як я можу отримати python, щоб вказати, що аргумент не є обов'язковим?
Ось код:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Foo')
parser.add_argument('-i','--input', help='Input file name', required=True)
parser.add_argument('-o','--output', help='Output file name', default="stdout")
args = parser.parse_args()
print ("Input file: %s" % args.input )
print ("Output file: %s" % args.output )
Під час запуску вище коду без надання необхідного аргументу, я отримую такий висновок:
usage: foo.py [-h] -i INPUT [-o OUTPUT]
Foo
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input file name
-o OUTPUT, --output OUTPUT
Output file name
optional arguments
для необхідних аргументів все ще вводить в оману.
-i INPUT
деталь не оточена квадратними дужками, що тонкості вказує на те, що дійсно потрібно. Також ви можете вручну пояснити, що черезhelp
парам