parser.add_argument('-auto', action='store_true')
Comment puis-je stocker faux si -auto
n’est pas spécifié? Je peux à peine me rappeler que de cette façon, il stocke Aucun si non spécifié
L’option store_true
crée automatiquement une valeur par défaut False .
De même, store_false
sera store_false
par défaut sur True lorsque l’argument de ligne de commande n’est pas présent.
La source de ce comportement est succincte et claire: http://hg.python.org/cpython/file/2.7/Lib/argparse.py#l861
Les documents d’argparse ne sont pas clairs sur le sujet, donc je vais les mettre à jour maintenant: http://hg.python.org/cpython/rev/49677cc6d83a
Avec
import argparse parser=argparse.ArgumentParser() parser.add_argument('-auto', action='store_true', ) args=parser.parse_args() print(args)
fonctionnement
% test.py
les rendements
Namespace(auto=False)
Donc, il semble stocker False
par défaut.
store_false sera par défaut à 0
par défaut (vous pouvez tester pour vérifier). Pour changer ce qu’il est par défaut, ajoutez simplement default=True
à votre déclaration.
Donc, dans ce cas: parser.add_argument('-auto', action='store_true', default=True)