Python argparse: “non reconnus”arguments

Je suis en train d'utiliser mon programme avec l'option de ligne de commande. Voici mon code:

import argparse

def main():

    parser = argparse.ArgumentParser()
    parser.add_argument("-u","--upgrade", help="fully automatized upgrade")
    args = parser.parse_args()

    if args.upgrade:
        print "Starting with upgrade procedure"
main()

Lorsque j'essaie d'exécuter mon programme de terminal (python script.py -u), je m'attends à recevoir le message Starting with upgrade procedure, mais au lieu de cela, je reçois le message d'erreur unrecognized arguments -u.

Je ne suis pas à voir un message d'erreur et je suis l'obtention de votre expecpted de sortie; je pense qu'il pourrait être en raison de l'espace, la tabulation dans votre programme, Veuillez vérifier que [viswesn.viswesn-PC] ➤ python script.py -u 10 en Commençant par la procédure de mise à [viswesn.viswesn-PC] ➤ python script.py -u utilisation: script.py [-h] [-u UPGRADE] script.py: erreur: argument -u/--mise à jour: attend un argument
Le seul problème ici, est que -u, s'attendent à une valeur ou une certaine sorte. essayez de faire python myscript.py -u True

OriginalL'auteur Zvonimir Peran | 2015-07-17