Comment appeler une commande externe (comme si je l'avais tapée au shell Unix ou à l'invite de commande Windows) à partir d'un script
Le module de sous-processus Python vous permet de générer de nouveaux processus, de vous connecter à leurs canaux d'entrée / sortie / d'erreur et d'obtenir leurs codes de retour. Utilisez-le pour exécuter une commande shell ou un exécutable en Python.
Comment appeler une commande externe (comme si je l'avais tapée au shell Unix ou à l'invite de commande Windows) à partir d'un script
Je veux écrire une fonction qui exécutera une commande shell et retournera sa sortie sous forme de chaîne , peu importe, est-ce un message d'erreur ou de réussite. Je veux juste obtenir le même résultat que j'aurais obtenu avec la ligne de commande. Quel serait un exemple de code qui ferait une...
J'utilise le module de sous processus pour démarrer un sous-processus et connecter à son flux de sortie (stdout). Je veux pouvoir exécuter des lectures non bloquantes sur sa sortie standard. Existe-t-il un moyen de rendre .readline non bloquant ou de vérifier s'il y a des données sur le flux avant...
На этот вопрос есть ответы на Stack Overflow на рdedом : Прерывание процесса и задержка на исполнение Voici le code Python pour exécuter une commande arbitraire renvoyant ses stdoutdonnées, ou déclencher une exception sur les codes de sortie non nuls: proc = subprocess.Popen( cmd,...
Je lance un sous-processus avec la commande suivante: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) Cependant, lorsque j'essaie de tuer en utilisant: p.terminate() ou p.kill() La commande continue de s'exécuter en arrière-plan, alors je me demandais comment puis-je réellement mettre...
J'essaie de faire un appel système en Python et de stocker la sortie dans une chaîne que je peux manipuler dans le programme Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") J'ai essayé quelques choses, y compris certaines des suggestions ici: Récupération de la sortie...
Je crois que l'exécution d'une commande externe avec un environnement légèrement modifié est un cas très courant. Voilà comment j'ai tendance à le faire: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) J'ai...
J'utilise eSpeak sur Ubuntu et j'ai un script Python 2.7 qui imprime et prononce un message: import subprocess text = 'Hello World.' print text subprocess.call(['espeak', text]) eSpeak produit les sons souhaités, mais encombre le shell avec quelques erreurs (ALSA lib ..., pas de connexion de...
Si je fais ce qui suit: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Je reçois: Traceback (most recent call last): File "<stdin>", line 1, in ? File...
J'appelle différents processus avec le subprocessmodule. Cependant, j'ai une question. Dans les codes suivants: callProcess = subprocess.Popen(['ls', '-l'], shell=True) et callProcess = subprocess.Popen(['ls', '-l']) # without shell Les deux fonctionnent. Après avoir lu les documents, j'ai appris...
Je veux utiliser subprocess.check_output()avec ps -A | grep 'process_name'. J'ai essayé différentes solutions mais jusqu'à présent, rien n'a fonctionné. Quelqu'un peut-il me guider comment le
Mon script python utilise un sous-processus pour appeler un utilitaire Linux très bruyant. Je veux stocker toute la sortie dans un fichier journal et en montrer une partie à l'utilisateur. Je pensais que ce qui suit fonctionnerait, mais la sortie n'apparaît dans mon application que lorsque...
Pour lancer des programmes à partir de mes scripts Python, j'utilise la méthode suivante: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] exitCode = process.returncode if (exitCode == 0):...
Existe-t-il un moyen de spécifier le répertoire en cours d'exécution de la commande dans Python subprocess.Popen()? Par exemple: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Mon script Python se trouve dans C:\programs\python Est-il possible d'exécuter C:\mytool\tool.exedans le...
J'utilise un script python comme pilote pour un code hydrodynamique. Quand vient le temps d'exécuter la simulation, j'utilise subprocess.Popenpour exécuter le code, collecter la sortie de stdout et stderr dans un subprocess.PIPE--- puis je peux imprimer (et enregistrer dans un fichier journal) les...
Comment récupérer le code de sortie lors de l'utilisation du subprocessmodule et de la communicate()méthode de Python ? Code pertinent: import subprocess as sp data = sp.Popen(openRTSP + opts.split(), stdout=sp.PIPE).communicate()[0] Dois-je faire cela d'une autre
Je souhaite appeler un programme externe depuis Python. J'ai utilisé les deux Popen()et call()pour le faire. Quelle est la différence entre les deux? Mon objectif spécifique est d'exécuter la commande suivante à partir de Python. Je ne sais pas comment fonctionnent les redirections. ./my_script.sh...
J'essaie d'exécuter un programme pour effectuer des appels système à l'intérieur du code Python à l'aide de subprocess.call()ce qui génère l'erreur suivante: Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.7/subprocess.py", line 493, in...
J'essaie d'écrire un script wrapper pour un programme de ligne de commande (svnadmin verify) qui affichera un bel indicateur de progression pour l'opération. Cela me oblige à être en mesure de voir chaque ligne de sortie du programme encapsulé dès sa sortie. J'ai pensé que j'exécuterais simplement...
J'ai besoin d'exécuter une commande shell de manière asynchrone à partir d'un script Python. Je veux dire par là que je veux que mon script Python continue à s'exécuter pendant que la commande externe se déclenche et fait tout ce qu'elle doit faire. J'ai lu cet article: Appeler une commande externe...