Comment changer de répertoire de travail en Python
Cet article explique comment changer le répertoire de travail actuel en Python pour un autre emplacement.
Utiliser le module os
pour changer de répertoire en Python
Supposons que, pour une raison quelconque, vous vouliez changer votre répertoire de travail via Python au lieu de la console de commande. Dans ce cas, le module os
fournit des outils pour divers utilitaires du système d’exploitation directement par Python.
import os
Supposons que vous êtes actuellement dans un répertoire de travail dans /Users/user
et que vous voulez passer à Users/user2
: tout d’abord, vérifiez le répertoire de travail dans lequel vous vous trouvez en imprimant le résultat de os.getcwd()
. Ensuite, appelez le bloc os.chdir("Users/user2")
pour changer le répertoire de travail actuel.
print(os.getcwd())
os.chdir("/Users/user2")
print(os.getcwd())
Production :
/Users/user
/Users/user2
Il vérifie que votre programme a réussi à faire basculer les répertoires de travail de user
à user2
.
Vérification des exceptions
Le chemin est saisi par l’utilisateur, donc des erreurs de saisie sont très probables. Par exemple, l’utilisateur saisit un chemin inexistant ; cette fonction sera probablement très sujette aux exceptions de FileNotFound. C’est pourquoi nous devrions mettre en place un contrôle des exceptions.
Utilisation de if-else
pour vérifier les erreurs
La façon la plus simple de le faire est de vérifier si le chemin spécifié existe en utilisant if-else
:
import os
def changeDir(newPath):
if os.path.exists(newPath):
os.chdir("Directory moved: ", newPath)
print(os.getcwd())
else:
print("Directory ", newPath, " not found.")
print("Base directory: ", os.getcwd())
changeDir("/Users/user2")
changeDir("/Users/nonexistentpath")
Supposons que /Users/user2
est un chemin de fichier existant, et que /Users/nonexistentpath
n’existe pas.
Production :
Base directory: /Users/user
Directory moved: /Users/user2
Directory Users/nonexistentpath not found.
Le premier appel au bloc changeDir()
est passé par l’instruction if
parce que le chemin existe. D’autre part, le second appel passe par l’instruction else
et imprime un message d’erreur parce que le chemin n’existe pas.
Utilisation de try...except
pour vérifier les erreurs
Si la commande os.chdir()
ne trouve pas le chemin du fichier, elle lancera une notification FileNotFoundError
. Pour détecter cette erreur, nous devons enrouler le code autour d’un bloc try...except
.
import os
def changeDir(newPath):
try:
os.chdir(newPath)
print("Directory moved: newPath")
except OSError:
print("Directory ", newPath, "does not exist.")
print("Base directory: ", os.getcwd())
changeDir("/Users/user2")
changeDir("/Users/nonexistentpath")
Production :
Base directory: /Users/user
Directory moved: /Users/user2
Directory Users/nonexistentpath does not exist.
Plus ou moins, les deux produisent le même résultat ; cependant, utiliser la gestion des exceptions try...except
est beaucoup plus sûr que d’utiliser une instruction if-else
. C’est parce que les conditions définies par l’utilisateur peuvent ne pas couvrir toutes les exceptions possibles qui pourraient se produire en s’attaquant à la manipulation du chemin de fichier.
En résumé, le module os
fournit un support étendu pour la manipulation de fichiers et de répertoires, parmi les autres utilitaires qu’il propose.
Nous pouvons directement changer le répertoire de travail en utilisant le bloc os.chdir()
, mais il serait plus sûr de l’enrouler autour des blocs if-else
ou try...except
pour éviter que des exceptions ne se produisent.
Si vous voulez en savoir plus sur la manipulation des fichiers, la gestion des exceptions et la mise à jour des noms de fichiers ou de leur contenu sont incroyablement importantes.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArticle connexe - Python Directory
- Lister tous les fichiers du répertoire et des sous-répertoires en Python
- Correction de l'erreur No Such File in Directory en Python
- Obtenir le répertoire du chemin en Python
- Compter le nombre de fichiers dans un répertoire en Python
- Exécuter une commande sur chaque fichier d'un dossier en Python
- Lister les sous-répertoires en Python