Maison > développement back-end > Tutoriel Python > Comment puis-je répertorier efficacement uniquement les fichiers d'un répertoire à l'aide de Python ?

Comment puis-je répertorier efficacement uniquement les fichiers d'un répertoire à l'aide de Python ?

DDD
Libérer: 2025-01-01 12:31:11
original
850 Les gens l'ont consulté

How Can I Efficiently List Only Files in a Directory Using Python?

Obtenir des fichiers à partir d'un répertoire

Récupérer la liste de fichiers d'un répertoire est une tâche courante dans la programmation Python. Une façon de procéder consiste à utiliser os.listdir(), qui renvoie tous les éléments d'un répertoire, y compris les fichiers et les répertoires.

Approche 1 : Utilisation de os.path.isfile()

Pour lister uniquement les fichiers, utilisez os.path.isfile() :

from os import listdir
from os.path import isfile, join
mypath = 'path/to/directory'
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
Copier après la connexion

Approche 2 : Utilisation os.walk()

os.walk() parcourt un répertoire et ses sous-répertoires, renvoyant un tuple pour chaque répertoire qu'il visite. Ce tuple contient trois listes : une pour les fichiers, une pour les répertoires et une pour le répertoire actuel lui-même.

from os import walk
mypath = 'path/to/directory'
filenames = next(walk(mypath), (None, None, []))[2]  # [] if no files
Copier après la connexion

Cette approche fournit une représentation plus complète de la structure des répertoires. Pour lister les fichiers uniquement dans le répertoire courant, rompez la boucle après la première itération :

from os import walk

f = []
for (dirpath, dirnames, filenames) in walk(mypath):
    f.extend(filenames)
    break
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal