Comment changer le répertoire de travail dans Python

Comment changer le répertoire de travail dans Python

Un répertoire fonctionnel est un répertoire actuel dans lequel nous travaillons et à partir duquel le script est exécuté; Dans ce répertoire, nous avons accès à de nombreux fichiers (ceux situés à l'intérieur). Cependant, nous devons parfois modifier les répertoires et faire des allers-retours entre les fichiers et les dossiers. Dans ce tutoriel, nous apprendrons à changer le répertoire de travail à Python.

Module OS

En premier lieu, pour y parvenir, nous aurons besoin du module OS à Python. Puisqu'il est préinstallé, il n'est pas nécessaire d'installer quoi que ce soit. Le module OS est généralement utilisé dans Python pour interagir, gérer et modifier les fichiers et dossiers du système. Par exemple, nous pouvons créer / supprimer des répertoires, modifier les répertoires de travail, des fichiers de procédure, vérifier si les fichiers existent, etc.… Inutile de dire que c'est un module très utile.

Obtenir le répertoire de travail actuel

Pour obtenir le répertoire de travail actuel, nous utilisons le Méthode getCWD () du module OS. Veuillez noter ici qu'aucun argument n'est passé. Dans mon cas, la sortie était «/ home / kalyani / pycharmprojects / pythonproject1«Sur une machine Ubuntu (exécutant pycharm). Cela signifie que le script principal - principal.py - est situé dans ce dossier (PythonProject1). Et attention, le répertoire de travail, avant tout un dossier!

Importer un système d'exploitation
# Obtenez le répertoire de travail actuel
current_directory = os.getCwd ()
Print ("Votre répertoire de travail actuel est% s"% current_directory)

Changer le répertoire de travail actuel

Changer votre répertoire de travail est facile avec la méthode chdir (), qui prend exactement un argument - le chemin vers le nouvel emplacement en tant que chaîne.

Importer un système d'exploitation
# Obtenez le répertoire de travail actuel
current_directory = os.getCwd ()
Print ("Votre répertoire de travail actuel est% s"% current_directory)

La première chose à faire est de définir le nouveau chemin vers le répertoire de travail. Sur Ubuntu, c'est très simple!

# Définissons un nouveau répertoire de travail
new_working_directory = "/ home / kalyani / bureau / pythondirectory"

Sous Windows, vous devez utiliser des barres à barres doubles pour définir le répertoire.

#new_working_directory = "C: \\ Users \\ Never \\ Desktop \\ PythonDirectory"

Ensuite, nous définissons une clause d'essai à l'exception. Si le chemin existe, nous utiliserons la méthode chdir () pour changer le répertoire de travail en un nouveau répertoire de travail. Si le chemin n'est pas un répertoire, il lancera une erreur!

essayer:
OS.chdir (new_working_directory)
Print ("Le répertoire de travail a été modifié!")
Imprimer ("WD:% S"% OS.getCwd ())
sauf NotadirectoryError:
Imprimer ("Vous n'avez pas choisi de répertoire.")
Sauf FileNotFoundError:
imprimer ("Le dossier n'a pas été trouvé. Le chemin est incorrect.")
Sauf PermissionError:
Print ("Vous n'avez pas accès à ce dossier / fichier.")

Le code complet ressemblerait à ceci:

Importer un système d'exploitation
# Obtenez le répertoire de travail actuel
current_directory = os.getCwd ()
Print ("Votre répertoire de travail actuel est% s"% current_directory)
# Définissons un nouveau répertoire de travail
#new_working_directory = "/ home / kalyani / desktop / pythondirectory"
new_working_directory = r "c: \ users \ never \ buking \ pythonDirectory"
essayer:
OS.chdir (new_working_directory)
Print ("Le répertoire de travail a été modifié!")
Imprimer ("WD:% S"% OS.getCwd ())
sauf NotadirectoryError:
Imprimer ("Vous n'avez pas choisi de répertoire.")
Sauf FileNotFoundError:
imprimer ("Le dossier n'a pas été trouvé. Le chemin est incorrect.")
Sauf PermissionError:
Print ("Vous n'avez pas accès à ce dossier / fichier.")

En fait, les erreurs pourraient soulever divers types d'exceptions:

je. NotadirectoryError:

Supposons maintenant pour une instance que j'ai écrit le code suivant pour le chemin d'accès ou le nouveau répertoire de travail:

new_working_directory = "C: \\ Users \\ Never \\ Desktop \\ PythonDirectory \\ Text.SMS"

Ce que vous pouvez noter ici, c'est que je pointe le chemin vers un document texte appelé texte.SMS. Et ce dernier lancera une erreur connue sous le nom de NotadirectoryError. En d'autres termes, votre chemin doit indiquer un répertoire en quelque sorte.

ii. Filenotfounderror:

Un filenotfounonerror est lancé lorsque le chemin n'existe pas. Donc, supposons pour le moment que je n'ai pas de répertoire du nom de PythonDirectory sur mon bureau et que j'ai mis mon chemin à:

new_working_directory = "C: \ Users \ Never \ Desktop \ PythonDirectory"

Il lancera un Filenotfounderror. Cette erreur signifie simplement que le répertoire que nous pointons n'existe pas ou n'a pas été trouvé.

III. PermissionError:

UN Permissionrorror est soulevé lorsque l'utilisateur n'a pas d'autorisations adéquates pour modifier ou accéder au répertoire choisi.

iv. Erreur de syntaxe:

Une erreur de syntaxe se produit lorsqu'il y a une erreur de syntaxe dans le chemin. Sur Windows, si nous écrivons pour dire:

new_working_directory = "C: \ Users \ Never \ Desktop \ PythonDirectory"

Une erreur de synthax est lancée! Cependant, une erreur de syntaxe est beaucoup plus difficile à attraper car elle doit être évaluée, importée ou exécutée. En tant que tel, lorsque nous écrivons des blocs d'essai à l'exception, il est plus difficile d'attraper une telle erreur.

Sur Windows, pour éviter toute erreur, le chemin peut être écrit de l'une des trois manières différentes telles qu'aucune erreur n'est lancée:

Méthode 1: Dans cette méthode, nous ajoutons un «R» avant de définir la chaîne.

new_working_directory = r "c: \ users \ never \ buking \ pythonDirectory"

Méthode 2: Nous utilisons les doubles barreaux.

new_working_directory = "C: \\ Users \\ Never \\ Desktop \\ PythonDirectory"

Méthode 3: Nous utilisons une seule slash avant.

new_working_directory = "c: / users / never / bureau / pythondirectory"

Module de chemin

Nous pouvons également modifier le répertoire de travail en utilisant le module de chemin. Tout d'abord, installez le chemin comme suit (j'ai également donné le lien vers le module):

Path d'installation PIP
(https: // pypi.org / project / path /)

Ensuite, nous écrivons:

Depuis le chemin d'importation de chemin
Importer un système d'exploitation

Tout d'abord, vérifions le répertoire de travail actuel à l'aide du module OS et de la méthode getCWD ().

# Vérifions le répertoire de travail actuel
CWD = OS.getCwd ()
Print ("Le répertoire de travail actuel est:% S"% cwd)
imprimer("---------------------------------------------")

Ensuite, définissez le chemin vers le nouveau répertoire de travail. Dans ce cas, j'ai choisi de définir l'exemple sur une machine Windows:

# Définissez le chemin du nouveau répertoire de travail
new_path = "C: \\ Users \\ Never \\ Desktop \\ PythonDirectory"

Utilisez Path () pour modifier le répertoire de travail. Path () ne prend qu'un seul argument ici: le chemin réel vers le nouveau répertoire de travail et utilise la méthode chdir () pour accomplir la tâche.

# Modifier le répertoire de travail
Path (new_path).chdir ()

Repris si le répertoire de travail a été modifié. Et ici, comme vous pouvez le voir sur l'image, le répertoire de travail a en effet été modifié!

# Re-cocher le répertoire de travail
# a-t-il été changé?
CWD = OS.getCwd ()
Print ("Le nouveau répertoire de travail est% s"% cwd)

Changer les répertoires de travail est une tâche facile et ne prend qu'une méthode - la méthode CHDIR (chemin). Cependant, selon que vous êtes sur une machine Windows ou une machine Linux, vous devez faire attention à la façon dont vous saisissez le chemin en tant que chaîne. S'il est incorrectement entré, il peut lancer une erreur!

Codage heureux!