Je veux pouvoir définir une variable par la valeur de retour d'un script. Voici ce que j'ai actuellement:
sum_total_earnings_usd = subprocess.call([SCRIPT, "-d", date])
J'ai vérifié la valeur de retour de SCRIPT, cependant, lorsque j'essaie de définir cette variable, elle renvoie toujours 0 ( http://docs.python.org/library/subprocess.html#subprocess.call ). Comment exécuter ce script et capturer la valeur de retour à stocker en tant que variable?
Utilisez subprocess.check_output()
au lieu de subprocess.call()
.
Si votre script renvoie la valeur, alors vous voudrez utiliser subprocess.check_output()
:
subprocess.check_output([SCRIPT, "-d", date], Shell=True).
subprocess.check_call()
obtient la valeur de retour finale du script, et 0 signifie généralement "le script s'est terminé avec succès".
subprocess.call
renvoie déjà la valeur de retour du processus. Si vous obtenez toujours 0
, vous devrez alors revoir SCRIPT
pour vous assurer qu'il renvoie la valeur attendue.
Pour vérifier, vous pouvez également exécuter le SCRIPT
dans un shell et utiliser $?
pour obtenir le code retour.