[python-win32] want to leave DOS console at any target dir

Mark Tolonen metolone at hotmail.com
Mon Nov 19 09:32:39 CET 2007


> Date: Mon, 19 Nov 2007 02:18:12 +0000 (UTC)
> From: Charlie <charlie at sallyAndCharlie.com>
> Subject: [python-win32] want to leave DOS console at any target dir
> To: python-win32 at python.org
> Message-ID: <loom.20071119T015859-603 at post.gmane.org>
> Content-Type: text/plain; charset=us-ascii
>
> When launching a python script from a DOS console,
> I can not find a way to leave the DOS console at a working directory
> other than the initial working directory.
>
> os.chdir only seems to work for the python script context, not the DOS 
> context.
>
> I guess this amounts to a work-around for no "os.fchdir" function in 
> python for
> Windows.
>
> My current approach (which is an eye-sore) is to:
> 1) Launch a BAT file
> 2) The BAT file launches my python script
> 3) the python script creates a 2nd BAT file with a "CD c:\xxx\yyy" command
> 4) The 1st BAT file calls the 2nd BAT file when the python script 
> terminates.
>
> Yikes.
>
> Please tell me there's something better.

That's "just the way it works".  An executable is created with an initial 
current directory and can only change its own current directory.  The parent 
executable has its own current directory and it can't be changed by its 
child processes.  The parent has to set up a method for the child to tell it 
when it wants the parent to change, which is what you've set up in the 
scenario you described.

-Mark 



More information about the python-win32 mailing list