Retrieving Parent Directory in Python: Modern and Traditional Approaches

Nov 27, 2025 · Programming · 7 views · 7.8

Keywords: Python | Directory | Parent | os.path | pathlib

Abstract: This article explores various methods to obtain the parent directory of the current script or working directory in Python. It covers the use of the os.path module for traditional path manipulation and the pathlib module for a more object-oriented approach. Code examples and explanations are provided to help developers choose the best method for their needs.

In Python programming, it is often necessary to retrieve the parent directory of the current script or working directory. This can be useful for file organization, module imports, or path manipulations. This article discusses two primary approaches: using the os.path module and the pathlib module, with code examples and best practices.

Using the os.path Module

The os.path module provides functions for manipulating file paths. To get the parent directory of the script's location, use os.path.abspath(__file__) to get the absolute path of the script, and then apply os.path.dirname twice.

import os script_path = os.path.abspath(__file__) parent_directory = os.path.dirname(os.path.dirname(script_path)) print(parent_directory) # Outputs: /home/kristina/desire-directory

To get the parent of the current working directory, use os.getcwd() and os.path.dirname.

import os cwd = os.getcwd() parent_cwd = os.path.dirname(cwd) print(parent_cwd)

Using the pathlib Module

The pathlib module, introduced in Python 3.4, offers an object-oriented approach to path manipulation. It is more readable and modern.

To get the parent directory of the script, use Path(__file__).resolve().parents[1].

from pathlib import Path script_path = Path(__file__).resolve() parent_directory = script_path.parents[1] print(parent_directory) # Outputs: /home/kristina/desire-directory

For the current working directory, use Path().resolve().parent.

from pathlib import Path cwd_path = Path().resolve() parent_cwd = cwd_path.parent print(parent_cwd)

Conclusion

Both os.path and pathlib provide effective ways to retrieve parent directories in Python. pathlib is recommended for new code due to its clarity and object-oriented design, while os.path is still widely used in existing projects.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.