command prompt change dir

Discussion in 'Python' started by Peter Vestergaard, Jul 11, 2003.

  1. 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
    Peter Vestergaard, Jul 11, 2003
    #1
    1. Advertising

  2. Peter Vestergaard

    Tim Roberts Guest

    "Peter Vestergaard" <> wrote:
    >
    >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.
    --
    - Tim Roberts,
    Providenza & Boekelheide, Inc.
    Tim Roberts, Jul 13, 2003
    #2
    1. Advertising

  3. 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 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

    >
    > 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-----
    =?ISO-8859-1?Q?I=F1igo?= Serna, Jul 13, 2003
    #3
  4. 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

    "Iñigo Serna" <> wrote in message
    news:...
    Peter Vestergaard, Jul 14, 2003
    #4
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. chrisdude911
    Replies:
    10
    Views:
    135,326
    srk289
    Mar 10, 2009
  2. gaurav kashyap
    Replies:
    2
    Views:
    604
    gaurav kashyap
    Oct 30, 2008
  3. gaurav kashyap
    Replies:
    3
    Views:
    671
    gaurav kashyap
    Oct 31, 2008
  4. Mel
    Replies:
    10
    Views:
    3,094
    Sailaja Appi
    Feb 13, 2009
  5. Sam Kong
    Replies:
    1
    Views:
    114
    Sami Samhuri
    Jun 21, 2007
Loading...

Share This Page