To find the project root in the current working directory, you can use the following code snippet in Python:
import os
def find_project_root():
current_directory = os.getcwd()
while True:
if any(file.endswith('.py') for file in os.listdir(current_directory)):
return current_directory
parent_directory = os.path.dirname(current_directory)
if parent_directory == current_directory:
raise Exception("Project root not found.")
current_directory = parent_directory
project_root = find_project_root()
print("Project root:", project_root)
This code searches for any Python file (.py extension) in the current directory and its parent directories recursively until it finds a Python file. Once a Python file is found, it is assumed that the directory containing that file is the project root.
Here’s an example directory structure:
/home/user/projects/
├── project
│ ├── src
│ │ └── script.py
└── README.md
In the above example, the project root is the “project” directory. The code snippet will identify the project root as “/home/user/projects/project” because it contains the script.py file.