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.
If you want the directory change to remain even after the program has exited. 
You can end the python script with os.system("/bin/bash"), this will leave you in bash shell inside the new directory.
#!/usr/bin/python
import os
if __name__ == '__main__':
    os.chdir("/home/name/projects/python")
    os.system("pwd")
    os.system("/bin/bash")
For the need raised in your comment "I use this directory frequently and instead of doind cd <path> every time I open the terminal, I just write ./progname and it changes the directory"
I would suggest using bash alias which will change directory:
bash:~$ alias mycd='cd /home/name/projects/python'
and use this alias in bash shell in order to change the directory:
bash:~$ mycd
You can add this alias to your .bashrc - which will allow you to use this alias every time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With