command prompt change dir

P

Peter Vestergaard

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 lookups and
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
 
T

Tim Roberts

Peter Vestergaard said:
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 lookups and
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.

How many times do you need to do this? You can set the PATH environment
variable and spawn off a new copy of cmd.exe, which will inherit your
modified environment.
 
?

=?ISO-8859-1?Q?I=F1igo?= Serna

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ó:
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-----
 
P

Peter Vestergaard

Hi
The idea of a temporary file seemed a bit ugly to me, but at second thought
it ain't that bad, and now I have made a solution with 1 bat file (call
python, call temp.bat, del temp.bat), 1 python file and 1 temporary bat
file, which works exactly as I wanted it.
Thanks for all the suggestions!
/Peter

news:[email protected]...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,905
Latest member
Kristy_Poole

Latest Threads

Top