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 os
module 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 os
module.
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 shutil
module.
>>> 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() ()