Gestion des répertoires et des fichiers Python

Dans ce didacticiel, vous découvrirez la gestion des fichiers et des répertoires en Python, c'est-à-dire la création d'un répertoire, le renommer, la liste de tous les répertoires et leur utilisation.

Vidéo: Module os Python

Répertoire Python

S'il y a un grand nombre de fichiers à gérer dans notre programme Python, nous pouvons organiser notre code dans différents répertoires pour rendre les choses plus gérables.

Un répertoire ou un dossier est une collection de fichiers et de sous-répertoires. Python a le osmodule qui nous fournit de nombreuses méthodes utiles pour travailler avec des répertoires (et des fichiers également).

Obtenir le répertoire actuel

Nous pouvons obtenir le répertoire de travail actuel en utilisant la getcwd()méthode du osmodule.

Cette méthode renvoie le répertoire de travail actuel sous la forme d'une chaîne. Nous pouvons également utiliser la getcwdb()méthode pour l'obtenir en tant qu'objet bytes.

 >>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'

La barre oblique inverse supplémentaire implique une séquence d'échappement. La print()fonction rendra cela correctement.

 >>> print(os.getcwd()) C:Program FilesPyScripter

Changer de répertoire

Nous pouvons changer le répertoire de travail actuel en utilisant la chdir()méthode.

Le nouveau chemin dans lequel nous voulons changer doit être fourni sous forme de chaîne à cette méthode. Nous pouvons utiliser à la fois la barre oblique /ou la barre oblique arrière pour séparer les éléments du chemin.

Il est plus sûr d'utiliser une séquence d'échappement lors de l'utilisation de la barre oblique inverse.

 >>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33

Répertorier les répertoires et les fichiers

Tous les fichiers et sous-répertoires d'un répertoire peuvent être récupérés à l'aide de la listdir()méthode.

Cette méthode prend un chemin et retourne une liste de sous-répertoires et de fichiers dans ce chemin. Si aucun chemin n'est spécifié, il renvoie la liste des sous-répertoires et des fichiers du répertoire de travail actuel.

 >>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')

Créer un nouveau répertoire

Nous pouvons créer un nouveau répertoire en utilisant la mkdir()méthode.

Cette méthode prend le chemin du nouveau répertoire. Si le chemin complet n'est pas spécifié, le nouveau répertoire est créé dans le répertoire de travail actuel.

 >>> os.mkdir('test') >>> os.listdir() ('test')

Renommer un répertoire ou un fichier

La rename()méthode peut renommer un répertoire ou un fichier.

Pour renommer un répertoire ou un fichier, la rename()méthode prend deux arguments de base: l'ancien nom comme premier argument et le nouveau nom comme deuxième argument.

 >>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')

Suppression d'un répertoire ou d'un fichier

Un fichier peut être supprimé (supprimé) à l'aide de la remove()méthode.

De même, la rmdir()méthode supprime un répertoire vide.

 >>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()

Remarque : la rmdir()méthode ne peut supprimer que les répertoires vides.

Afin de supprimer un répertoire non vide, nous pouvons utiliser la rmtree()méthode à l'intérieur du shutilmodule.

 >>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()

Articles intéressants...