Programımdaki komut satırı alt komutları için Python argparse modülünü kullanıyorum. Benim kod temelde şöyle görünür:Argparse subparser: komut listesinde metavar'ı gizle
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(title="subcommands", metavar="<command>")
subparser = subparsers.add_parser("this", help="do this")
subparser = subparsers.add_parser("that", help="do that")
parser.parse_args()
"piton test.py --help" çalışan ben mevcut alt komutları listelemek istiyorum.
usage: test.py [-h] <command> ...
optional arguments:
-h, --help show this help message and exit
subcommands:
<command>
this do this
that do that
ben bir şekilde listeleyen alt komutlarda <command>
hattını kaldırmak ve hala kullanım hattında tutmak Can: Şu anda bu çıktıyı almak? Ben add_subparsers argüman olarak help = argparse.SUPPRESS vermeyi denedim, ancak bu sadece yardım çıktı tüm alt komutları gizler.
Ne 'None' için' metavar' ayarı (veya kapalı bırakarak) hakkında? - Veya 'metavar =' ''ayarlanıyor ... – mgilson
Yanıtladığınız için teşekkürler! Bunu None olarak ayarlarsam, bunun yerine tüm komutların bir listesini alırım ve eğer 'metavar =' 'kullanırsam boş bir satır alırım. Her iki durumda da kullanım hattındaki metavarı kaybederim. –
Oh, şimdi aradığın şeyi aldım. Ne yazık ki bunu nasıl yapacağımı bilmiyorum. – mgilson