Vous pouvez obtenir le chemin complet sous forme de chaîne, puis le diviser en une liste à l'aide du caractère séparateur de votre système d'exploitation. Ensuite, vous obtenez le nom du programme, le nom du dossier, etc. en accédant aux éléments de la fin de la liste à l'aide d'indices négatifs.
Comme ça:
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]}" )
La sortie de ce qui précède était la suivante:
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