Obtenir le parent du répertoire actuel à l`aide de Python

| | | | | | | | | | | | | | | | | | | | | |

Le module du système d`exploitation propose différentes manières d`obtenir le répertoire parent. Certaines des façons :

Utilisation de os.path. abspath ()

os.path.abspath () peut être utilisé pour obtenir le répertoire parent. Cette méthode est utilisée pour obtenir la version normalisée du chemin. Cette fonction a également besoin d`aide os.path.join ( () et os.pardir () .
os.path.join ( () en Python os.path.join ( () combine un ou plusieurs composants de chemin. Cette méthode concatène différents composants de chemin avec exactement un (' / ') séparateur de répertoire après chaque partie non vide sauf le dernier composant du chemin. Si le dernier composant du chemin à joindre est vide, alors le ( ' / ') le séparateur de répertoire est placé à la fin.

Syntaxe : os.path.abspath (chemin)

Paramètres :
chemin : un objet semblable à un chemin représentant un chemin de système de fichiers.

Retour Tapez : Renvoie une chaîne qui est une version normalisée du chemin.

Exemple :


# programme Python pour obtenir le parent
# répertoire



import os


# obtenir le répertoire courant

chemin = os.getcwd ()

print ( "Répertoire actuel" , cwd)


# affiche le répertoire parent

print (os.path.abspath ( < a href="https://python.engineering/python-os-path-join-method/">os.path.join ( (chemin, os.pardir)))

Sortie :

Utilisation de os.path.dirname ()

os.path.dirname () en Python est utilisé pour obtenir le nom d`un répertoire à un chemin donné.

Syntaxe : os.path.dirname< /a>(chemin)

Paramètre :
chemin : Un objet semblable à un chemin représentant un chemin de système de fichiers.

Type de retour : Cette méthode renvoie une valeur de chaîne qui représente le nom du répertoire à partir du chemin spécifié.

Exemple :

# programme Python pour obtenir le parent
# répertoire


importer os


# obtenir le répertoire courant

chemin = os.getcwd ()

print ( "Cu rrent Dir ectory " , path)

print ( )


# répertoire parent

parent = os. path.dirname (chemin)

print ( "Répertoire parent" , parent)

Quitter :

Utilisation de os.path.relpath () et os.path.dirname ()

Dans les exemples ci-dessus, l`obtention du répertoire parent était limitée à un niveau, c`est-à-dire , nous ne pouvons obtenir le niveau parent du répertoire actuel qu`à un seul niveau ... Supposons que nous voulions trouver le parent du répertoire parent, le code ci-dessus échouera. Ceci peut être réalisé en partageant os.path.dirname () .

os.path.relpath () en Python est utilisé pour obtenir le chemin relatif vers un fichier à un chemin donné à partir du répertoire de travail actuel ou du répertoire donné.

Syntaxe : os.path.relpath (path, start = os.curdir)

Paramètre :
chemin : un objet semblable à un chemin représentant le chemin du système de fichiers.
start (optionnel) : Un objet semblable à un chemin représentant le chemin du système de fichiers.
Le chemin relatif pour un chemin donné sera calculé par rapport au répertoire indiqué par start. La valeur par défaut de ce paramètre est os. curdir qui est un st constant ring utilisé par le système d`exploitation pour faire référence au répertoire actuel.

Un objet de type chemin est soit une chaîne, soit un objet d`octets représentant un chemin.

Type de retour : Cette méthode renvoie une valeur de chaîne qui représente le chemin relatif du fichier vers le chemin donné à partir du répertoire de démarrage.0222

Exemple :

Pour obtenir le répertoire parent selon les niveaux spécifiés par l`utilisateur, nous allons créer une fonction getParent () qui acceptera un chemin et des niveaux comme arguments. À l`intérieur de la fonction, la boucle for répétera les numéros de temps level + 1 , et à l`intérieur de la boucle for loop , os.path.dirname () sera appelé. L`appel de cette fonction à l`intérieur d`une boucle for nous donnera un point de départ à partir duquel os.path.relpath () donnera le chemin relatif vers le fichier.

Ci-dessous est l`implémentation.


# Python getter
# répertoire parent



import os.path


# fonction pour obtenir le parent

def getParent (chemin, niveaux = 1 ) :

commun = chemin


# Utilisation de la boucle for pour obtenir

# le point de départ requis pour

# os.path.relpath ()

for i in range (niveaux + 1 ) :


# Point de départ

commun = os.path.dirname (commun)

# Répertoire parent avant le

# niveau

return os.path.relpath (chemin, commun)


chemin = `D: / projets Pycharm / Py thon.Engineering / Nikhil / gfg.txt`

print (getParent (path, 2 ))

Quitter :