Estoy escribiendo un pequeño script python que necesita ejecutar commands git desde dentro de un directory determinado
El código es el siguiente:
import subprocess, os pr = subprocess.Popen(['/usr/bin/git', 'status'], cwd=os.path.dirname('/path/to/dir/'), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) (out, error) = pr.communicate() print out
Pero muestra el uso de git como salida.
Si el command no implica git por ej. ['ls']
muestra la salida correcta.
¿Hay algo que me falta?
versión de Python – 2.6.6
Gracias.
subprocess.Pobre :
En Unix, con
shell=True
: […] si args es una secuencia, el primer elemento especifica la cadena de commands, y los elementos adicionales se tratarán como arguments adicionales para el propio shell .
No quiere shell=True
y también una list de arguments. Establecer shell=False
.