[Python-es] cambiar de directorio
Alexis Roda
alexis.roda.villalonga en gmail.com
Sab Ene 26 20:23:40 CET 2008
En/na David Abreu Rodriguez ha escrit:
> El problema con ambos es que me devuelve al directorio desde el que
> llamé a python.
>
> Me parece que voy a tener que escribirlo en shell script.
Si no me equivoco el directorio actual es parte del entorno de cada
proceso. Cuando el proceso termina su entorno se pierde.
Me parece que con shell scripts tendrás el mismo problema. Una function
de bash funcionaria, pero no un script (sin algo de magia).
La solución que se me ocurre es que el proceso no termine y así retener
el entorno. El ejemplo siguiente hace algo parecido a lo que pides:
~$ python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.chdir('/tmp')
>>> os.getcwd()
'/tmp'
>>> os.execl('/bin/bash', '-i')
tmp$ exit
logout
~$
fijate que a salir del shell vuelves al shell desde el que has ejecutado
python. Si es un problema lo podrías solventar con un exec:
~$ exec python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
...
>>> os.execl('/bin/bash', '-i')
tmp$ exit
logout
Saludos
Más información sobre la lista de distribución Python-es