navigating/changing directories
Steve Holden
steve at holdenweb.com
Thu Jan 6 09:06:05 EST 2005
skip wrote:
> A simple script like the one below lets me jump through a directory
> structure. However, if I run it from /this/directory and within it to go to
> /a/totally/different/directory... I'm still actually going to be in
> /this/directory when I exit the script. Is it possible to have a script
> that can drop me off into a different directory than where I initiated it
> from?
>
> import os
> process = 1
> while (process):
> # Display directories
> for i in os.listdir(os.getcwd()):
> if (os.path.isdir(os.path.join(os.getcwd(),i))):
> print i
>
> # Change directory
> goto_dir = raw_input(": ")
> if (goto_dir in os.listdir(os.getcwd())):
> os.chdir(os.path.join(os.getcwd(),goto_dir))
> else:
> process = 0 # Exit
>
>
As has already been reported, under Linux a change to the current
working directory won't affect the environment of the parent process.
You may find that under some Windows command line interpreters that the
change to the working directory made by a program persists into the
interactive session that triggered the program.
One way to achieve your desired goal, of course, is to call your program
using a shell expansion sequence (assuming Unix-like shell
environments), as in:
cd `myprogram.py`
and then if your program outputs the path to a directory your shell's
current working directory will be chaged as you require.
there's-always-a-way-ly y'rs - steve
--
Steve Holden http://www.holdenweb.com/
Python Web Programming http://pydish.holdenweb.com/
Holden Web LLC +1 703 861 4237 +1 800 494 3119
More information about the Python-list
mailing list