Questions marquées «subprocess»

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.


16
Exécution de la commande shell et capture de la sortie
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 …
909 python  shell  subprocess 


29
Utilisation du module «sous-processus» avec timeout
На этот вопрос есть ответы на 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, stderr=subprocess.STDOUT, # Merge stdout and stderr …

11
Comment terminer un sous-processus python lancé avec shell = True
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 fin au processus. Notez que lorsque j'exécute la commande avec: p = …

15
Stocker la sortie de l'appel subprocess.Popen dans une chaîne
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 de subprocess.call () mais sans …
300 python  subprocess 

8
Sous-processus Python / Popen avec un environnement modifié
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 l'intuition qu'il y a une meilleure façon; ça a l'air bien?
285 python  subprocess  popen 


11
Comment passer une chaîne dans subprocess.Popen (en utilisant l'argument stdin)?
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 "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__ (p2cread, p2cwrite, File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles p2cread = stdin.fileno() AttributeError: 'cStringIO.StringI' object has no attribute 'fileno' …
280 python  subprocess  stdin 

5
Signification réelle de «shell = True» dans le sous-processus
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 que cela shell=Truesignifie exécuter le code via le shell. Cela signifie donc qu'en …
260 python  subprocess 


9
lire le sous-processus stdout ligne par ligne
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 l'utilitaire a produit une …
235 python  subprocess 

13
Imprimer constamment la sortie du sous-processus pendant que le processus est en cours d'exécution
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): return output else: raise ProcessException(command, exitCode, output) Ainsi, lorsque je lance un processus comme Process.execute("mvn clean install"), mon …
202 python  subprocess 

1
Comment puis-je spécifier le répertoire de travail pour popen
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 répertoire D:\test\local? Comment définir le répertoire de travail d'un sous-processus?
187 python  subprocess  popen 


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.