Chemin relatif en Python

Muhammad Maisam Abbas 10 octobre 2023
  1. Chemin du fichier en Python
  2. Chemin absolu
  3. Chemin relatif
Chemin relatif en Python

Dans ce tutoriel, nous discuterons du chemin relatif en Python.

Chemin du fichier en Python

Un chemin de fichier spécifie l’emplacement d’un fichier sur l’ordinateur. Par exemple, C:\PythonProjects\Tutorials\Paths est le chemin d’un fichier paths.py dans ma machine Windows. Ici, C:\ est le répertoire racine, et PythonProjects, Tutorials et Paths sont des sous-répertoires. paths.py est un script python dans le répertoire Paths dans le répertoire Tutorials dans le répertoire PythonProjects dans le répertoire racine C:\. Il existe deux types de chemins de fichiers en Python, c’est-à-dire les chemins absolus et relatifs.

Différence entre Windows, Mac et Linux

Sur les machines Windows, \ est utilisé comme séparateur entre les noms de répertoire alors que, sur les machines Linux et Mac, / est utilisé comme séparateur. Par example,

#file path in Windows
rootdirectory\\subdirectory\\subsubdirectory\\filename.extension
#file path in Mac and Linux
rootdirectory/subdirectory/subsubdirectory/filename.extension

Dans Windows, il existe deux barres obliques inverses, car chaque barre oblique inverse doit être échappée à l’aide d’une autre barre oblique inverse. Ceci peut être géré en utilisant la méthode os.path.join(). Cette méthode gère les séparateurs en fonction du système d’exploitation. Par example,

import os

pathname = os.path.join("root", "directory1", "directory2")
print(pathname)

Production:

#On Windows
root\directory1\directory2
#On Mac and Linux
root/directory1/directory2

Ce tutoriel contiendrait \ comme séparateur pour donner les exemples sous Windows. Nous utiliserons la hiérarchie de fichiers suivante et définirons C:\PythonProjects\Tutorials\Paths comme répertoire de travail courant.

exemple de système de fichiers

Répertoire de travail actuel

Le répertoire de travail courant ou cwd en bref est le répertoire à partir duquel le programme est exécuté. Vous pouvez obtenir le répertoire de travail actuel du fichier particulier par la méthode os.getcwd().

import os

print(os.getcwd())

Production:

C:\PythonProjects\Tutorials\Paths

Le répertoire de travail actuel peut également être modifié à l’exécution en utilisant la méthode os.chdir().

import os

print("Old cwd = " + os.getcwd())
os.chdir("C:\\PythonProjects\\Tutorials")
print("New cwd = " + os.getcwd())

Production:

Old cwd = C:\PythonProjects\Tutorials\Paths
New cwd = C:\PythonProjects\Tutorials

Chemin absolu

Un chemin absolu d’un fichier est le chemin complet du répertoire racine vers ce fichier particulier. Par exemple, C:\PythonProjects\Tutorials\Paths\paths.py est le chemin absolu du fichier paths.py.

Nous pouvons obtenir le chemin absolu du fichier actuel comme indiqué ci-dessous.

import os

absolutepath = os.path.abspath(__file__)
print(absolutepath)

Production:

C:\PythonProjects\Tutorials\Paths\paths.py

Accédez au répertoire Strings en utilisant le chemin absolu en Python

Naviguer vers un dossier en utilisant le chemin absolu en Python est assez facile. Le seul casse-tête est que vous devez connaître les noms exacts de tous les répertoires du répertoire racine.

import os

print("Old cwd = " + os.getcwd())
os.chdir("C:\\PythonProjects\\Tutorials\\Strings")
print("New cwd = " + os.getcwd())

Chemin relatif

Le chemin absolu est utile, mais il peut devenir très vite complexe. Ainsi, pour minimiser cette complexité, un chemin relatif est utilisé. Chemin relatif signifie le chemin d’un certain fichier par rapport au répertoire de travail actuel.

Par exemple, si le répertoire de travail courant est C:\PythonProjects\Tutorials alors, le chemin relatif du fichier path.py serait \Paths\paths.py qui est plus court et plus facile à utiliser que le chemin absolu C:\PythonProjects\Tutorials\Paths\paths.py.

Le chemin absolu d’un fichier reste le même partout, mais le chemin relatif change en fonction du répertoire de travail actuel. Ce phénomène est démontré dans l’exemple de codage suivant.

Accédez au répertoire Strings en utilisant le chemin relatif en Python

Si nous avons besoin d’accéder aux fichiers dans le dossier Strings, nous devons soit utiliser le chemin absolu complet C:\PythonProjects\Tutorials\Strings\string.py ou nous pouvons faire comme mentionné dans le code suivant.

import os
import sys

absolutepath = os.path.abspath(__file__)
print(absolutepath)

fileDirectory = os.path.dirname(absolutepath)
print(fileDirectory)
# Path of parent directory
parentDirectory = os.path.dirname(fileDirectory)
print(parentDirectory)
# Navigate to Strings directory
newPath = os.path.join(parentDirectory, "Strings")
print(newPath)

Production:

C:\PythonProjects\Tutorials\Paths\paths.py
C:\PythonProjects\Tutorials\Paths
C:\PythonProjects\Tutorials
C:\PythonProjects\Tutorials\Strings
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Python Path