If you want to get path of the directory in which your script is running, I would highly recommend using,
os.path.abspath('')
Advantages
- It works from Jupyter Notebook
- It work from REPL
- It doesn’t require Python 3.4’s pathlib
Please note that one scenario where __file__ has advantage is when you are invoking python from directory A but running script in directory B. In that case above as well as most other methods will return A, not B. However for Jupyter notbook, you always get folder for .ipyn file instead of the directory from where you launched jupyter notebook.