Estoy trabajando en un script simple de Python que puede usar subprocess
y/o os
para ejecutar algunos comandos, lo que funciona bien.cd ¿Terminal en un directorio determinado después de ejecutar un script de Python?
Sin embargo, cuando el script finaliza Me gustaría cd
la terminal real (en este caso OS X) por lo que en la salida, los nuevos archivos están listos para utilizarse en el directorio en el que se han creado. Todo lo siguiente (subprocess.Popen
, os.system
, os.chdir
) puede hacer lo que quiero de dentro la secuencia de comandos (es decir, que ejecutan cosas en el directorio de destino), pero al salir salir de la Terminal en el propio directorio del script , no el objetivo directorio.
Me gustaría evitar escribir un script de shell en el archivo temporal solo para lograr esto, si esto es posible de todos modos?
Gracias - Volveré a escribir como un script de shell, y llamaré a Python desde allí :-) –
No necesita dejar el intérprete de Python dando vueltas. Solo necesita obtener el entorno de proceso de la manera que lo desee (por ejemplo, 'os.chdir()') y luego 'os.execv()' un nuevo shell. Sí, todavía tendrá un shell subordinado ejecutándose, pero el intérprete de Python habrá sido reemplazado. http://docs.python.org/library/os.html#os.execv – msw
@msw: nunca he sido capaz de sacar eso de forma confiable en todas las plataformas con shells en particular (específicamente powershell), pero debería tener sugerido que. –