command prompt change dir

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Peter Vestergaard

    command prompt change dir

    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


  • Tim Roberts

    #2
    Re: command prompt change dir

    "Peter Vestergaard" <posselt@hotmai l.com> wrote:[color=blue]
    >
    >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.[/color]

    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, timr@probo.com
    Providenza & Boekelheide, Inc.

    Comment

    • Iñigo Serna

      #3
      Re: command prompt change dir

      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ó:[color=blue]
      > On Friday 11 July 2003 07:39, Peter Vestergaard wrote:[color=green]
      > > 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[/color]
      >
      > 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[/color]


      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.2.1 (GNU/Linux)

      iD8DBQA/Eb1sfN63/+cBjZoRAryDAKCW 4L6zS1qOUGbz5PE I8xu3Bqp49gCg4f D/
      iw5OXyHnvFnS0N2 7G1vUeYQ=
      =JuiU
      -----END PGP SIGNATURE-----

      Comment

      • Peter Vestergaard

        #4
        Re: command prompt change dir

        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" <inigoserna@ter ra.es> wrote in message
        news:mailman.10 58127209.14405. python-list@python.org ...


        Comment

        Working...