다음 코드에서 볼 수 있듯이 선택적 위치 지정 인수 files
을 갖고 싶습니다. 경로가 전달되면 지정된 경로를 사용하여 기본값을 지정하고 싶습니다.argargse에서 nargs = '*'인수와 함께 선택적 위치 인수를 사용하는 방법은 무엇입니까?
그러나 --bar
에 여러 인수가있을 수 있으므로 전달 된 경로가 args.files
이 아니므로 해결할 수 있습니까? 감사!
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar', nargs='*')
parser.add_argument('files', nargs='?')
cmd = '--foo a --bar b c d '
print parser.parse_args(cmd.split())
# Namespace(bar=['b', 'c', 'd'], files=None, foo='a')
cmd = '--foo a --bar b c d /path/to/file1'
print parser.parse_args(cmd.split())
# Namespace(bar=['b', 'c', 'd', '/path/to/file1'], files=None, foo='a')
'argparse'는'/ path/to/file1'이'bar'가 아니라'files'로되어 있다는 것을 어떻게 알 수 있습니까? – mgilson