Quelqu'un peut-il savoir comment vérifier l'état de la dernière commande exécutée (code de sortie) dans ipython? p>
3 Réponses :
Je suppose que vous parlez de commandes en cours d'exécution d'Ipython à l'aide du Utilisation de Google J'ai trouvé la documentation et il n'y a aucune mention de la L'état de sortie de la commande étant capturé n'importe où. Utilisation de En bref, je ne pense pas que Ipython capille même ces informations. À ce stade, je voudrais vérifier le code source à ipython pour essayer de déterminer quoi que ce soit d'autre. P> Vous pouvez toujours exécuter la commande avec donc nous voyons la commande On dirait que ceci est quelque chose que Ipython devrait épargner. Il y a beaucoup de petites variables cachées. Vous devez déposer une demande de fonctionnalité à ce sujet. P> Remarque: Ceci a été testé dans Ipython 0.10.1 sur Ubuntu. Une autre réponse, par "Piotr", explique que le code de sortie sera capturé dans Ipython 0.11, en raison de la libération bientôt. J'ai cloné le code source du référentiel git à https://github.com/ipython/ipython.git: a> et testé avec ! code> Escape:
Dir () Code> J'ai cherché un nom de variable qui pourrait contenir cette information et je n'ai rien trouvé. J'ai essayé le
x =! LS code> syntaxe et
x code> est défini sur une liste des lignes de sortie de la commande; Il n'y a pas d'état de sortie là-bas. P>
os.system () code> et obtenir Un statut de sortie à partir de celui-ci. p>
launch_eva code> renvoie l'état de sortie 3 quand il ne peut pas ouvrir un sur champ. < / p>
python ipython.py code>; Comme le dit Piotr, le statut de sortie est enregistré dans une variable appelée
_exit_status code>. p> p>
Il doit être stocké comme _exit_code code> après avoir exécuté la commande (au moins dans la prochaine version V0.11). P>
A partir de 0.13.2, cela fonctionne, mais pas si je capturai STDOUT avec "A =! FALSE" (si je capture stdout _exit_code code> ne change pas). Quelqu'un sait s'il y a une solution?
Vous pouvez stocker le résultat de la commande dans la variable et vous pouvez vérifier la variable si elle est présente dans la fonction locale () ou non. Par exemple1: -
var1=subprocess.check_output('ps -aef | grep -i dmesg -wT | grep -v grep',shell=True) if 'var1' in locals(): print "status is true i.e 0" else : print "status is false i.e 1"
Regardez-vous la commande dans Python en utilisant quelque chose comme OS.System? Ou exécutez-vous la commande FOO, puis exécutez votre script Python?
Utilisez simplement Ipython comme Shell et courez des commandes avec! cmd