Hello,
I think this is the solution midnight commander uses.
In lfm [1], I use something similar: I've created next shell function in
/etc/bashrc:
lfm ()
{
/usr/bin/lfm $*;
LFMPATHFILE=/tmp/lfm-$$.path;
cd "`cat $LFMPATHFILE`";
rm -f -f $LFMPATHFILE
}
Before exit, the program writes the directory into a temporal file
/tmp/lfm-pid.path, where pid is the process id of lfm, then change the
directory.
I hope this helps,
Iņigo
[1]
http://www.terra.es/personal9/inigoserna/lfm
El vie, 11-07-2003 a las 10:28, Martin Franklin escribiķ:
On Friday 11 July 2003 07:39, Peter Vestergaard wrote: Hi
Probably a simple question but I have not been able to find out how:
I want my python script to generate a path based on some simple lookupsand
then change my path so that when the script exits my command prompt (from
which I launched the script) is standing at this path. The path already
exists.
I have tried chdir(path), system('cd '+path) and many others but none
changes my actual path.
Hope anyone can help
Regards, Peter Vestergaard
I don't think it is possible to change the path of the calling program (in
this case the command prompt you use to start the python script....)
However you could use a shell trick to kind of do what you want:-
#!/usr/local/bin/python
# ChangePath script
# invoke from command line like so:
# cd `ChangePath.py`
#
# simple lookup...
path = "/usr/oracle/"
print path
Invoke the above from your command line (xterm or whatever...)
cd `ChangePath.py`
I have only tested this on Linux + bash and I would guess this would not work
on Windows...
Regards
Martin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQA/Eb1sfN63/+cBjZoRAryDAKCW4L6zS1qOUGbz5PEI8xu3Bqp49gCg4fD/
iw5OXyHnvFnS0N27G1vUeYQ=
=JuiU
-----END PGP SIGNATURE-----