Obtenir une valeur de retour en utilisant un sous-processus
Je veux être en mesure de définir une variable par la valeur de retour d'un script. C'est 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'essaye de mettre cette variable, il retourne toujours 0 ( http://docs.python.org/library/subprocess.html#subprocess.call ). Comment aurais-je exécuter ce script et capture de la valeur de retour de stocker une variable?
source d'informationauteur David542
Vous devez vous connecter pour publier un commentaire.
Utilisation
sous-processus.check_output()
au lieu desous-processus.call()
.Si votre script est de retourner de la valeur, alors vous voulez utiliser
sous-processus.check_output()
:subprocess.check_call()
obtient la dernière valeur de retour à partir du script, et 0 signifie généralement "le script est terminée avec succès".subprocess.call
retourne déjà le processus de valeur de retour. Si vous êtes toujours obtenir0
alors vous aurez besoin d'examinerSCRIPT
pour s'assurer qu'elle retourne la valeur que vous attendez.De vérifier, vous pouvez également exécuter la
SCRIPT
dans un shell et l'utilisation$?
pour obtenir le code de retour.