¿Cómo ejecuto este comando con subproceso?Python - Subproceso - ¿Cómo llamar un comando Piped en Windows?
me trataron:
proc = subprocess.Popen(
'''ECHO bosco|"C:\Program Files\GNU\GnuPG\gpg.exe" --batch --passphrase-fd 0 --output "c:\docume~1\usi\locals~1\temp\tmptlbxka.txt" --decrypt "test.txt.gpg"''',
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
stdout_value, stderr_value = proc.communicate()
pero tiene:
Traceback (most recent call last):
...
File "C:\Python24\lib\subprocess.py", line 542, in __init__
errread, errwrite)
File "C:\Python24\lib\subprocess.py", line 706, in _execute_child
startupinfo)
WindowsError: [Errno 2] The system cannot find the file specified
cosas que he notado:
- La ejecución del comando en las ventanas consola funciona bien.
- Si quito el ECHO Bosco | parte, funciona bien el la llamada popen arriba. Así que creo que este problema está relacionado con eco o |.
¿Eso línea completa funcionan realmente cuando se ejecuta en la consola de Windows? WindowsError sugiere que el problema no es su código de Python, sino el comando real que se ejecutará. –
Sí, se ejecuta desde la consola windows dos. – Greg