2017-03-28 2 views
0

Je voudrais vérifier si l'argument de argsparse a été choisi, sinon je voudrais choisir une valeur aléatoire pour cette variable.Python - vérifie si l'argument arparse a été choisi

est par exemple ici:

parser.add_argument('--tempo', default=120, type=int, help='Tempo of the track') 

et une façon de le faire est par exemple:

args = parser.parse_args()  
if args.tempo==120: #my default int 
    tempo=random.randint(60,350) 

Mais cette façon lorsque l'utilisateur souhaite appeler mon programme avec par exemple: main.py --tempo 120, il choisira également la valeur aléatoire. Comment puis-je vérifier si l'argument a été choisi ou non?

Répondre

1

Le problème est dans le test. si un utilisateur a choisi 120, il donnera un nombre aléatoire. Je pense que le mieux c'est de supprimer la valeur par défaut et de vérifier si elle est vide.

parser.add_argument('--tempo', default=None, type=int, help='Tempo of the track') 
args = parser.parse_args()  
if args.tempo==None: #my default int 
    args.tempo=randint(60,350) 
+0

'args.tempo est Aucun' est le test le plus fiable. – hpaulj