Ketika saya menggunakan sub perintah dengan python argparse, saya bisa mendapatkan argumen yang dipilih.
parser = argparse.ArgumentParser()
parser.add_argument('-g', '--global')
subparsers = parser.add_subparsers()
foo_parser = subparsers.add_parser('foo')
foo_parser.add_argument('-c', '--count')
bar_parser = subparsers.add_parser('bar')
args = parser.parse_args(['-g, 'xyz', 'foo', '--count', '42'])
# args => Namespace(global='xyz', count='42')
Jadi args
tidak mengandung 'foo'
. Cukup menulis sys.argv[1]
tidak berhasil karena kemungkinan argumen global. Bagaimana saya bisa mendapatkan sub-perintah itu sendiri?
python
command-line
argparse
Adam Schmideg
sumber
sumber
required=True
untuk memaksa pengguna menggunakan sub-perintah.ArgumentParser.add_subparsers
memilikidest
argumen formal yang digambarkan sebagai:Dalam contoh di bawah ini dari tata letak fungsi tugas sederhana menggunakan subparser, subparser yang dipilih ada di
parser.parse_args().subparser
.sumber