Programım için, bazı isteğe bağlı parametrelerle birlikte gerekli bazı parametrelere sahip bir argümana sahip olmak isterim. Böyle bir şey:Python argparse isteğe bağlı alt argümanlar
[--print text [color [size]]
böylece bunlardan herhangi bunu geçebileceği: tek add_argument olmak zorunda böylece
mycommand --print hello
mycommand --print hello blue
mycommand --print hello red 12
Bunlardan birden de olabilir. Örneğin:
>>> parser = argparse.ArgumentParser()
>>> act = parser.add_argument('--foo', nargs=3, metavar=('x','y','z'))
>>> act = parser.add_argument('--bar', nargs='?')
>>> act = parser.add_argument('--baz', nargs='*')
>>> parser.print_help()
usage: [-h] [--foo x y z] [--bar [BAR]] [--baz [BAZ [BAZ ...]]]
optional arguments:
-h, --help show this help message and exit
--foo x y z
--bar [BAR]
--baz [BAZ [BAZ ...]]
ama tamamen değil:
[--print text [color]] [--output filename [overwrite]]
Ne istediğimi yakın argümanları elde edebilirsiniz. Bunu argparse ile yapmanın bir yolu var mı? Bunların hepsini nargs="*"
yapabildiğimi biliyorum ama sonra --help isteğe bağlı argümanların isimlerini listelemezdi. nargs="*"
ve metavar için bir tuple iletirseniz, argparse bir istisna atar.
Teşekkürler. Bu çok kötü. – jterrace