다음 간단한 코드를 사용하여 일부 인수를 구문 분석합니다. 그중 하나가 필요합니다. 불행히도 사용자가 인수를 제공하지 않고 스크립트를 실행할 때 표시되는 사용법 / 도움말 텍스트에는 선택 사항이 아닌 인수가 있음을 나타내지 않으므로 매우 혼란스러워합니다. 파이썬이 인수가 선택적이 아님을 나타내도록 어떻게 할 수 있습니까?
코드는 다음과 같습니다.
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
매개 변수 를 통해 수동으로 설명 할 수 있습니다.