I am using Python 3.2 on Windows 7. When I open the Python shell, how can I know what the current directory is and how can I change it to another directory where my modules are?
How to know/change current directory in Python shell?
Each Answer to this Q is separated by one/two green lines.
You can use the
>>> import os >>> os.getcwd() '/home/user' >>> os.chdir("/tmp/") >>> os.getcwd() '/tmp'
But if it’s about finding other modules: You can set an environment variable called
PYTHONPATH, under Linux would be like
Then, the interpreter searches also at this place for
imported modules. I guess the name would be the same under Windows, but don’t know how to change.
(taken from http://docs.python.org/using/windows.html)
… and even better: use
virtualenv_wrapper, this will allow you to create a development environment where you can add module paths as you like (
add2virtualenv) without polluting your installation or “normal” working environment.
import os os.getcwd() os.chdir('..')
>>> import os >>> os.system('cd c:\mydir')
os.system() can execute any command that windows command prompt can execute, not just change dir.
The easiest way to change the current working directory in python is using the ‘os’ package. Below there is an example for windows computer:
# Import the os package import os # Confirm the current working directory os.getcwd() # Use '\\' while changing the directory os.chdir("C:\\user\\foldername")
Changing the current directory is not the way to deal with finding modules in Python.
Rather, see the docs for The Module Search Path for how Python finds which module to import.
Here is a relevant bit from Standard Modules section:
The variable sys.path is a list of strings that determines the
interpreter’s search path for modules. It is initialized to a default
path taken from the environment variable PYTHONPATH, or from a
built-in default if PYTHONPATH is not set. You can modify it using
standard list operations:
>>> import sys
In answer your original question about getting and setting the current directory:
>>> help(os.getcwd) getcwd(...) getcwd() -> path Return a string representing the current working directory. >>> help(os.chdir) chdir(...) chdir(path) Change the current working directory to the specified path.
import os you can use
os.getcwd to get the current working directory, and you can use
os.chdir to change your directory
You can try this:
import os current_dir = os.path.dirname(os.path.abspath(__file__)) # Can also use os.getcwd() print(current_dir) # prints(say)- D:\abc\def\ghi\jkl\mno" new_dir = os.chdir('..\\..\\..\\') print(new_dir) # prints "D:\abc\def\ghi"