Ви можете отримати повний шлях у вигляді рядка, а потім розділити його на список, використовуючи розділовий символ вашої операційної системи. Тоді ви отримуєте назву програми, назву папки тощо, отримуючи доступ до елементів з кінця списку за допомогою негативних індексів.
Подобається це:
import os
strPath = os.path.realpath(__file__)
print( f"Full Path :{strPath}" )
nmFolders = strPath.split( os.path.sep )
print( "List of Folders:", nmFolders )
print( f"Program Name :{nmFolders[-1]}" )
print( f"Folder Name :{nmFolders[-2]}" )
print( f"Folder Parent:{nmFolders[-3]}" )
Результатом вищезазначеного було таке:
Full Path :C:\Users\terry\Documents\apps\environments\dev\app_02\app_02.py
List of Folders: ['C:', 'Users', 'terry', 'Documents', 'apps', 'environments', 'dev', 'app_02', 'app_02.py']
Program Name :app_02.py
Folder Name :app_02
Folder Parent:dev