English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Python

Contrôle de flux Python

Fonctions en Python

Types de données en Python

Opérations sur les fichiers Python

Objets et classes Python

Dates et heures Python

Connaissances avancées Python

Manuel de référence Python

Gestion des dossiers et des fichiers en Python

Dans cet article, vous découvrirez la gestion des fichiers et des répertoires en Python, c'est-à-dire créer un répertoire, le renommer, lister tous les répertoires et les utiliser.

Que sont les répertoires en Python ?

Si votre programme PythonDe traiterUn grand nombreFichierAlors, vous pouvez organiser le code dans différents répertoires pour rendre les choses plus faciles à gérer.

Un répertoire ou un dossier est une collection de fichiers et de sous-répertoires. Python a l'os Modulequi nous offre de nombreuses méthodes utiles pour utiliser les répertoires (et fichiers).

Obtenir le répertoire actuel

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

Cette méthode retourne le répertoire de travail actuel sous forme de chaîne. Nous pouvons également l'obtenir sous forme d'objet binaire en utilisant la méthode getcwdb().

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

Les的反斜杠 supplémentaires représentent une séquence d'échappement. La fonction print() la présentera correctement.

>>> print(os.getcwd())
C:\Program Files\PyScripter

Changer de répertoire

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

Le nouveau chemin que nous devons changer doit être fourni sous forme de chaîne à cette méthode. Nous pouvons utiliser la barre oblique oblique (/)./)ou les barres obliques inversées (\) pour séparer les chemins.

Il est plus sûr d'utiliser une séquence d'échappement lorsque vous utilisez les barres obliques inversées.

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

Lister les répertoires et fichiers

L'utilisation de la méthode listdir() permet de connaître tous les fichiers et sous-répertoires du répertoire.

Cette méthode utilise un chemin et retourne la liste des sous-répertoires et des fichiers de ce chemin. Si le chemin n'est pas spécifié, il retourne la liste 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'

Create a new directory

We can use the mkdir() method to create a new directory.

This method takes the path of the new directory. If the complete path is not specified, a new directory will be created in the current working directory.

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

Rename directory or file

The rename() method can rename directories or files.

The first parameter is the old name, and the new name must be specified as the second parameter.

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

Delete directory or file

The remove() method can be used to delete (delete) files.

Similarly, the rmdir() method will delete an empty directory.

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

However, please note that the rmdir() method can only delete empty directories.

To delete a non-empty directory, we can use the rmtree() method from the 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()
[]