Change directory in terminal using python

Viewed 26740

I'm writing a simple script to change the present working directory to some other directory. The following script works okay until the program terminates, after which I'm back to my home directory.

#!/usr/bin/python

import os

if __name__ == '__main__':
    os.chdir("/home/name/projects/python")
    os.system("pwd")
    print 'dir changed'

Output is:

bash:~$ python chdir.py
/home/name/projects/python
dir changed
bash:~$ pwd
/home/name

I want the directory change to remain even after the program has exited. Any ideas how to do it?

Edit: What I really want to do is this: I use this directory frequently and instead of doing cd <path> every time I open the terminal, I just write ./progname and it changes the directory.

3 Answers

In case someone would like to do this without python - this is most simply done with a .bash_profile file.

Steps:

  1. Type this into your .bash_profile. You can open this file with pico.
pico ~/.bash_profile
  1. Then create a shortcut (called an alias), you can do whatever phrase you want.
alias cdd="cd ~/frequent/my-directory"
  1. Then source your .bash_profile file.
source ~/.bash_profile

Now, you just run your aforementioned shortcut, and this switches your directory, with many less key strokes!

Macbook-Spen:~ spen$ cdd
Macbook-Spen:my-directory spen$ 

Sources:

Related