J'utilise le code simple suivant pour analyser certains arguments; notez que l'un d'eux est obligatoire. Malheureusement, lorsque l'utilisateur exécute le script sans fournir l'argument, le texte d'utilisation / d'aide affiché n'indique pas qu'il existe un argument non facultatif, ce que je trouve très déroutant. Comment puis-je obtenir python pour indiquer qu'un argument n'est pas facultatif?
Voici le code:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Foo')
parser.add_argument('-i','--input', help='Input file name', required=True)
parser.add_argument('-o','--output', help='Output file name', default="stdout")
args = parser.parse_args()
print ("Input file: %s" % args.input )
print ("Output file: %s" % args.output )
Lors de l'exécution du code ci-dessus sans fournir l'argument requis, j'obtiens la sortie suivante:
usage: foo.py [-h] -i INPUT [-o OUTPUT]
Foo
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input file name
-o OUTPUT, --output OUTPUT
Output file name
optional arguments
aux arguments requis est toujours trompeur.
-i INPUT
pièce n'est pas entourée de crochets, ce qui indique que la subtilité est effectivement requise. En outre, vous pouvez expliquer manuellement cela via lehelp
param