Argparse: Unterparser mit globalem Argument, bei dem die Position keine Rolle spieltPython

Python-Programme
Anonymous
 Argparse: Unterparser mit globalem Argument, bei dem die Position keine Rolle spielt

Post by Anonymous »

Ich erkläre das Problem anhand eines Beispiels. Angenommen, wir haben den folgenden Code für ein zufälliges Python-Programm:

Code: Select all

import argparse

parser = argparse.ArgumentParser(prog="webduino-generator",
description="Webduino source builder")
# Global arguments
parser.add_argument("-v", "--verbose",
action="store_true", dest='verbose',
help="Enable verbose output")

subparsers = parser.add_subparsers(dest="command")

parser_build = subparsers.add_parser("build", help="Build it")
parser_open = subparsers.add_parser("open", help="Open it")

# Check arguments
args = parser.parse_args()
print(args)
Jetzt kann ich mit diesem Parser

Code: Select all

program.py -v open
was großartig ist! Allerdings kann ich das nicht tun

Code: Select all

program.py open -v
Außerdem wird das übergeordnete/globale Argument -v nicht auf der Hilfeseite des Unterparsers aufgeführt.
Gibt es eine Möglichkeit, dies zum Laufen zu bringen und es zur Hilfeseite des Unterparsers hinzuzufügen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post