Asked By – jramm
Ok…I dont know where module
x is, but I know that I need to get the path to the directory two levels up.
So, is there a more elegant way to do:
import os two_up = os.path.dirname(os.path.dirname(__file__))
Solutions for both Python 2 and 3 are welcome!
Now we will see solution for issue: python: get directory two levels up
You can use
pathlib. Unfortunately this is only available in the stdlib for Python 3.4. If you have an older version you’ll have to install a copy from PyPI here. This should be easy to do using
from pathlib import Path p = Path(__file__).parents print(p) # /absolute/path/to/two/levels/up
This uses the
parents sequence which provides access to the parent directories and chooses the 2nd one up.
p in this case will be some form of
Path object, with their own methods. If you need the paths as string then you can call
str on them.
This question is answered By – Ffisegydd
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0