logo

Python – Liste des fichiers dans un répertoire

Parfois, lorsque vous travaillez avec des fichiers en Python, un problème survient quant à la façon d'obtenir tous les fichiers d'un répertoire. Dans cet article, nous aborderons différentes méthodes de comment lister tous les noms de fichiers dans un répertoire en Python.

Effectuer des opérations sur les fichiers est une compétence indispensable pour les programmeurs. L'apprentissage des opérations sur les fichiers à l'aide de Python aide à gérer les fichiers, à intégrer des fichiers à vos programmes, à créer des programmes du monde réel, etc. Nous aborderons le concept le plus fondamental consistant à répertorier tous les fichiers présents dans un répertoire spécifique.



Nous couvrirons deux modules et leurs fonctions respectives pour ce didacticiel sur la liste des noms de fichiers et des détails dans un répertoire.

Qu’est-ce qu’un répertoire en Python ?

Un répertoire, parfois appelé dossier, est une structure organisationnelle unitaire dans le système de fichiers d’un ordinateur permettant de stocker et de localiser des fichiers ou plusieurs dossiers. Python prend désormais en charge plusieurs API pour répertorier le contenu du répertoire. Par exemple, nous pouvons utiliser les fonctions Path.iterdir, os.scandir, os.walk, Path.rglob ou os.listdir.

Répertoire utilisé : gfg



Fichiers dans un répertoire

Comment lister les fichiers dans un répertoire en Python

Il existe plusieurs façons de répertorier tous les fichiers d'un répertoire. Dans cet article, nous aborderons les modules ci-dessous et leurs fonctions pour récupérer la liste des fichiers dans un répertoire. Nous couvrirons un total de 5 façons avec des exemples de vérifier la liste des fichiers dans un répertoire.

  1. En utilisant Module du système d'exploitation
  2. En utilisant Module global

Répertorier les fichiers dans un répertoire à l'aide du module Os en Python

Nous pouvons utiliser ces 3 méthodes du Module du système d'exploitation , pour obtenir une liste de fichiers dans un répertoire.



  • os.listdir() Méthode
  • os.walk() Méthode
  • os.scandir() Méthode

Utilisation de la méthode os.listdir() pour obtenir la liste des fichiers

os.listdir() La méthode obtient la liste de tous les fichiers et répertoires d’un répertoire spécifié. Par défaut, c'est le répertoire courant. Au-delà du premier niveau de dossiers, os.listdir() ne renvoie aucun fichier ou dossier.

Syntaxe : os.listdir(chemin)

Paramètres :

  • Chemin : Chemin du répertoire

Type de retour : renvoie une liste de tous les fichiers et répertoires dans le chemin spécifié

Exemple 1 : obtenir une liste de tous les fichiers d'un répertoire

Dans cet exemple, le module os est importé pour interagir avec le système d'exploitation. La fonction listdir est utilisée pour obtenir une liste de tous les fichiers et répertoires dans le chemin spécifié (C://Users//Vanshi//Desktop//gfg). Le résultat est ensuite imprimé, affichant les noms des fichiers et répertoires présents à l'emplacement spécifié.

Python3




# import OS module> import> os> # Get the list of all files and directories> path>=> ' C://Users//Vanshi//Desktop//gfg '> dir_list>=> os.listdir(path)> print>(>'Files and directories in ''>, path,>'' :'>)> # prints all files> print>(dir_list)>

qu'est-ce que l'hibernation

>

>

Sortir:

Exemple 2 : obtenir tous les fichiers et aucun dossier

Dans cet exemple, le programme Python demande à l'utilisateur un chemin de dossier, répertorie et imprime les fichiers de ce répertoire, en utilisant le module os pour l'interaction avec le répertoire et en filtrant les fichiers de la liste obtenue.

Python3




import> os> print>(>'Python Program to print list the files in a directory.'>)> Direc>=> input>(r>'Enter the path of the folder: '>)> print>(f>'Files in the directory: {Direc}'>)> files>=> os.listdir(Direc)> # Filtering only the files.> files>=> [f>for> f>in> files>if> os.path.isfile(Direc>+>'/'>+>f)]> print>(>*>files, sep>=>' '>)>

>

>

Exemple 3 : Obtenez uniquement les fichiers « .txt » du répertoire

Dans cet exemple, le script Python utilise le module os pour parcourir les fichiers du répertoire actuel. Il imprime sélectivement uniquement les noms des fichiers se terminant par .txt, répertoriant ainsi les fichiers texte présents dans le répertoire.

Python3


quand le premier ordinateur a-t-il été inventé



# import OS> import> os> for> x>in> os.listdir():> >if> x.endswith(>'.txt'>):> ># Prints only text file present in My Folder> >print>(x)>

>

>

Sortir:

Utilisation de la méthode os.walk() pour accéder aux fichiers dans une arborescence de répertoires

OS.walk() génère des noms de fichiers dans une arborescence de répertoires. Cette fonction renvoie une liste de fichiers dans une arborescence. La méthode parcourt tous les répertoires d’une arborescence.

Syntaxe: os.walk (top, topdown, onerror, followlinks )

Paramètres:

  • haut: Il s'agit du répertoire principal à partir duquel vous souhaitez récupérer les noms des fichiers et dossiers des composants.
  • de haut en bas: Spécifie que les répertoires doivent être analysés de haut en bas lorsqu'il est défini sur True. Si ce paramètre est False, les répertoires seront examinés de haut en bas.
  • une erreur : Il fournit un gestionnaire d'erreurs si une erreur est rencontrée
  • suivre les liens : si défini sur True, visite les dossiers référencés par les liens système

Retour: renvoie le nom de chaque fichier et dossier dans un répertoire et l'un de ses sous-répertoires.

Exemple : obtenir uniquement les fichiers « .txt » dans un répertoire

Dans cet exemple, le script Python utilise le module os pour parcourir les fichiers du répertoire spécifié (C://Users//Vanshi//Desktop//gfg) et ses sous-répertoires. Il identifie et imprime les noms des fichiers avec une extension .txt, en remplissant la variable de liste avec les fichiers texte souhaités.

Python3




instruction de commutation java
# import OS module> import> os> # This is my path> path>=> ' C://Users//Vanshi//Desktop//gfg '> # to store files in a list> list> => []> # dirs=directories> for> (root, dirs,>file>)>in> os.walk(path):> >for> f>in> file>:> >if> '.txt'> in> f:> >print>(f)>

>

>

Sortir:

Utilisation de la méthode os.scandir() pour lister les fichiers dans un répertoire

os.scandir() est une version efficace de la fonction os.listdir(). Il a ensuite été publié par Python et est pris en charge pour Python 3.5 et versions ultérieures.

Syntaxe: os.scandir(chemin)

Paramètre:

  • Chemin- Chemin du répertoire.

Type de retour : renvoie un itérateur de l'objet os.DirEntry.

Exemple : répertorier tous les fichiers et répertoires d'un répertoire.

Dans cet exemple, le script Python utilise le module os pour répertorier les fichiers et répertoires dans le chemin spécifié (C://Users//Vanshi//Desktop//gfg). Il utilise os.scandir() pour obtenir un itérateur d'objets os.DirEntry représentant les entrées du répertoire.

Python3




# import OS module> import> os> # This is my path> path>=> ' C://Users//Vanshi//Desktop//gfg '> # Scan the directory and get> # an iterator of os.DirEntry objects> # corresponding to entries in it> # using os.scandir() method> obj>=> os.scandir()> # List all files and directories in the specified path> print>(>'Files and Directories in '% s':'> %> path)> for> entry>in> obj:> >if> entry.is_dir()>or> entry.is_file():> >print>(entry.name)>

>

>

Sortir:

Lister les fichiers dans un répertoire à l'aide du module glob en Python

Le globe module récupère les noms de fichiers/chemins correspondant à un modèle spécifié. Vous trouverez ci-dessous les manières par lesquelles nous pouvons lister les fichiers dans un répertoire à l'aide du module glob :

  • global() Méthode
  • iglob() méthode

Utiliser la méthode glob() pour obtenir tous les fichiers d'un répertoire

Avec globe , nous pouvons utiliser des caractères génériques (*, ?, [plages]) pour rendre la récupération de chemin plus simple et plus pratique.

Syntaxe: glob.glob(chemin d'accès, *, récursif=False)

Paramètres:

  • chemin d'accès : Le chemin du répertoire ou le modèle à correspondre.
  • récursif (Facultatif) : Un paramètre booléen (la valeur par défaut est définie sur FAUX ) qui indique si la recherche doit être récursive, c'est-à-dire si elle doit inclure des sous-répertoires.

Retour:

systèmes experts
  • Liste des chemins de fichiers correspondants

Exemple : correspondance de fichiers Python et impression à l'aide de la méthode glob()

Python3




import> glob> # This is my path> path>=> 'C:UsersVanshiDesktopgfg'> # Using '*' pattern> print>(>' Named with wildcard *:'>)> for> files>in> glob.glob(path>+> '*'>):> >print>(files)> # Using '?' pattern> print>(>' Named with wildcard ?:'>)> for> files>in> glob.glob(path>+> '?.txt'>):> >print>(files)> # Using [0-9] pattern> print>(>' Named with wildcard ranges:'>)> for> files>in> glob.glob(path>+> '/*[0-9].*'>):> >print>(files)>

>

>

Sortir:

Utilisation de la méthode iglob() pour lister les fichiers dans un répertoire

iglob() La méthode peut être utilisée pour imprimer les noms de fichiers de manière récursive si le paramètre récursif est défini sur True. Ceci est utilisé pour les gros répertoires car il est plus efficace que la méthode glob().

Syntaxe: glob.iglob(chemin d'accès, *, récursif=False)

Paramètre:

  • chemin = Chemin du répertoire.
  • récursif (Facultatif)= Un paramètre booléen (la valeur par défaut est définie sur FAUX ) qui indique si la recherche doit être récursive, c'est-à-dire si elle doit inclure des sous-répertoires.

Retour: Itérateur de chemins de fichiers correspondants

Exemple : Imprimer les chemins correspondant au modèle spécifié dans un répertoire.

Dans cet exemple, le script Python utilise le module glob pour rechercher et imprimer les chemins correspondant au modèle spécifié (C:UsersVanshiDesktopgfg***.txt). Il utilise glob.iglob() pour renvoyer un itérateur, qui est ensuite utilisé pour imprimer les chemins de tous les fichiers texte présents dans le répertoire spécifié et ses sous-répertoires.

Python3




import> glob> # This is my path> path>=> 'C:UsersVanshiDesktopgfg***.txt'> # It returns an iterator which will> # be printed simultaneously.> print>(>' Using glob.iglob()'>)> # Prints all types of txt files present in a Path> for> file> in> glob.iglob(path, recursive>=>True>):> >print>(>file>)>

moulé en SQL

>

>

Sortir:

Ce sont les 5 façons que vous pouvez utiliser pour obtenir des détails sur les fichiers et répertoires d’un répertoire. Python a fourni plusieurs méthodes intégrées que vous pouvez utiliser pour connaître les fichiers présents dans un répertoire. Ce didacticiel a montré des méthodes simples avec des exemples pour comprendre comment obtenir des listes de fichiers avec le module os et le module glob.

Lectures similaires :

  • Liste les fichiers dans le répertoire avec l'extension
  • Répertorier tous les fichiers d'un certain type dans un répertoire en utilisant Python
  • Liste des répertoires et des fichiers en Python
  • Obtenir la liste des fichiers dans le répertoire avec la taille
  • Gestion des fichiers en Python