Preguntas etiquetadas con subprocess

El módulo de subproceso de Python le permite generar nuevos procesos, conectarse a sus tuberías de entrada / salida / error y obtener sus códigos de retorno. Úselo para ejecutar un comando de shell o un ejecutable en Python.


16
Ejecutar comando de shell y capturar la salida
Quiero escribir una función que ejecute un comando de shell y devuelva su salida como una cadena , sin importar si es un mensaje de error o de éxito. Solo quiero obtener el mismo resultado que habría obtenido con la línea de comando. ¿Cuál sería un ejemplo de código que …
909 python  shell  subprocess 

30
Lectura sin bloqueo en un subproceso.PIPE en python
Estoy usando el módulo de subproceso para iniciar un subproceso y conectarme a su flujo de salida (stdout). Quiero poder ejecutar lecturas sin bloqueo en su stdout. ¿Hay alguna manera de hacer que .readline no bloquee o verificar si hay datos en la transmisión antes de invocar .readline? Me gustaría …

29
Uso del módulo 'subproceso' con tiempo de espera
На этот вопрос есть ответы на Stack Overflow на русском : Прерывание процесса и задержка на исполнение Aquí está el código de Python para ejecutar un comando arbitrario que devuelve sus stdoutdatos, o generar una excepción en los códigos de salida distintos de cero: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # …


15
Almacenar la salida del subproceso. Abrir llamada en una cadena
Estoy tratando de hacer una llamada al sistema en Python y almacenar el resultado en una cadena que puedo manipular en el programa Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") He intentado algunas cosas, incluidas algunas de las sugerencias aquí: Recuperando la salida de subprocess.call () Pero sin suerte.
300 python  subprocess 

8
Subproceso de Python / Popen con un entorno modificado
Creo que ejecutar un comando externo con un entorno ligeramente modificado es un caso muy común. Así es como tiendo a hacerlo: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) Tengo el presentimiento de que hay una mejor manera; se ve bien?
284 python  subprocess  popen 


11
¿Cómo paso una cadena en subprocess.Popen (usando el argumento stdin)?
Si hago lo siguiente: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Yo obtengo: 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' Aparentemente, un …
280 python  subprocess  stdin 

5
Significado real de 'shell = True' en el subproceso
Estoy llamando a diferentes procesos con el subprocessmódulo. Sin embargo, tengo una pregunta. En los siguientes códigos: callProcess = subprocess.Popen(['ls', '-l'], shell=True) y callProcess = subprocess.Popen(['ls', '-l']) # without shell Ambos trabajan. Después de leer los documentos, supe que eso shell=Truesignifica ejecutar el código a través del shell. Eso significa …
260 python  subprocess 


9
leer el subproceso stdout línea por línea
Mi script de Python usa un subproceso para llamar a una utilidad de Linux que es muy ruidosa. Quiero almacenar todo el resultado en un archivo de registro y mostrarlo al usuario. Pensé que lo siguiente funcionaría, pero el resultado no aparece en mi aplicación hasta que la utilidad haya …
235 python  subprocess 

13
Imprima constantemente la salida del subproceso mientras se ejecuta el proceso
Para iniciar programas desde mis scripts Python, estoy usando el siguiente método: 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) Entonces, cuando inicio un proceso como Process.execute("mvn clean install"), mi programa espera hasta …
202 python  subprocess 

1
¿Cómo puedo especificar el directorio de trabajo para popen
¿Hay alguna manera de especificar el directorio de comando en ejecución en Python subprocess.Popen()? Por ejemplo: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Mi script de Python se encuentra en C:\programs\python ¿Es posible ejecutar C:\mytool\tool.exeen el directorio D:\test\local? ¿Cómo configuro el directorio de trabajo para un subproceso?
187 python  subprocess  popen 


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.