I want to get the current file's directory path. I tried:
>>> os.path.abspath(__file__) 'C:\\python27\\test.py'
But how can I retrieve the directory's path?
If you mean the directory of the script being run:
import os os.path.dirname(os.path.abspath(__file__))
If you mean the current working directory:
import os os.getcwd()
Note that before and after
file is two underscores, not just one.
Also note that if you are running interactively or have loaded code from something other than a file (eg: a database or online resource),
__file__ may not be set since there is no notion of "current file". The above answer assumes the most common scenario of running a python script that is in a file.
Path is the recommended way since Python 3:
from pathlib import Path print("File Path:", Path(__file__).absolute()) print("Directory Path:", Path().absolute())
Note: If using Jupyter Notebook,
__file__ doesn't return expected value, so
Path().absolute() has to be used.