Il est fort possible que nous ayons rencontré de nombreux cas dans notre vie où nous souhaitons savoir combien et quels fichiers sont présents dans un répertoire (dossier). Ou bien, parfois, nous devons rechercher un fichier et nous connaissons son nom, mais nous ne savons pas dans quel dossier il se trouve. Dans ce cas, la seule option qui nous reste est de rechercher le fichier dans le répertoire de destination.
Il semblerait si facile pour beaucoup d’entre nous de réfléchir ; il suffit d'aller dans l'annuaire et d'y chercher. C'est une option possible, mais cette option ne fonctionnera que lorsque nous n'aurons qu'un plus petit nombre de fichiers présents dans ce répertoire. Ce n'est qu'alors que nous pouvons visiter ce répertoire manuellement et rechercher les fichiers qui y sont présents. Mais que se passe-t-il dans le cas où un grand nombre de fichiers, disons simplement des milliers de fichiers, sont présents dans le répertoire de destination. Dans ce cas, cette option ne fonctionnera pas car il faudra très longtemps (voire plusieurs jours) pour rechercher si un fichier spécifique est présent dans le répertoire de destination où sont présents des milliers de fichiers. Cela semble être ce que nous devrions faire si nous devons trouver un fichier avec son nom dans un répertoire contenant des milliers de fichiers.
Nous pouvons rechercher le nom via l'explorateur de fichiers, mais si nous faisons cela, cela prendra également beaucoup de temps, pas comme dans l'option précédente mais oui, beaucoup de temps. En effet, l'explorateur de fichiers analysera tous les fichiers présents dans le répertoire et nous devrons attendre longtemps jusqu'à ce que l'analyse complète du disque soit terminée.
Mais que se passe-t-il si nous disons que nous avons déjà fourni les noms de tous les fichiers présents dans le répertoire ou le chemin de destination. Ensuite, il nous sera très facile de vérifier si ce fichier spécifié est présent dans le chemin ciblé, et cela montrera également où nous devons obtenir les noms de tous les fichiers présents dans le répertoire de destination.
Si on nous donne une liste de noms de tous les fichiers présents dans un répertoire sous forme de texte, il suffit de taper le nom de ce fichier spécifique dans la barre de recherche. Et puis, il ne faudra guère une seconde pour savoir si le fichier est présent ou non dans la liste des noms. Ainsi, on peut comprendre à quel point il est important d'avoir une méthode où l'on peut imprimer la liste des noms de tous les fichiers présents dans un répertoire ou un chemin.
Python nous fournit de telles méthodes où nous pouvons imprimer la liste des noms, et l'une de ces méthodes est la fonction listdir() du module 'os'. Nous allons apprendre cette méthode listdir() dans ce tutoriel et l'utiliser dans un programme Python pour imprimer une liste des noms de tous les fichiers présents dans le chemin spécifié.
tri en tas
Méthode os.listdir() en Python
La fonction listdir() est une fonction fournie par le module os, et en utilisant cette fonction, nous pouvons imprimer une liste des noms de tous les fichiers présents dans le chemin spécifié. La méthode listdir() peut également être utilisée si nous voulons imprimer la liste des fichiers présents dans le répertoire de travail actuel (où le programme est présent). Nous pouvons utiliser la méthode listdir() chaque fois que nous devons obtenir les noms de tous les fichiers présents dans un répertoire spécifié.
Syntaxe de la fonction os.listdir() :
Voici la syntaxe d'utilisation de la fonction listdir() du module os :
>> os.listdir(pathSpecified)
Paramètres:
Comme nous pouvons le voir dans la syntaxe ci-dessus, nous n'avons donné qu'un argument à l'intérieur de la méthode listdir(). La fonction listdir() prend le paramètre de chemin suivant :
Type de retour :
Le type de retour de la fonction listdir() est 'list' car elle renvoie une liste de noms de tous les fichiers présents dans le répertoire spécifié.
Méthode os.listdir() : Implémentation :
Pour comprendre le fonctionnement et l'implémentation de la fonction listdir(), nous allons l'utiliser dans un exemple de programme et en imprimer la liste des noms de fichiers. Nous avons divisé la partie implémentation de la fonction listdir() en deux parties suivantes :
- Impression des noms de fichiers à partir du répertoire de travail actuel
- Impression des noms de fichiers à partir du chemin spécifié
Nous utiliserons un exemple de programme pour chaque catégorie et obtiendrons les noms de fichiers dans chaque méthode.
Méthode 1 : Impression des noms de fichiers à partir du répertoire de travail actuel :
Dans cette méthode, nous imprimerons la liste des noms de fichiers du répertoire de travail actuel en utilisant une autre fonction du module os, c'est-à-dire la fonction getcwd(). Regardez l'exemple de programme suivant pour comprendre l'implémentation de cette méthode :
Exemple 1:
Regardez le programme Python suivant dans lequel nous avons utilisé la méthode os.listdir() avec l'argument path :
# Import os module import os # Use getcwd() function pathSpecified = os.getcwd() # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames)
Sortir:
Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx']
Comme nous pouvons le voir, les noms de tous les fichiers présents dans notre répertoire de travail actuel sont imprimés dans la sortie du programme.
Explication:
Après avoir importé le module os dans le programme, nous avons utilisé la fonction getcwd() pour obtenir le chemin du répertoire de travail actuel. Nous avons initialisé une variable avec le nom 'pathSpecified' et stocké le chemin du répertoire de travail actuel dans cette variable. Après cela, nous avons utilisé la fonction listdir() dans une autre variable initialisée, c'est-à-dire listOfFileNames, pour stocker le nom de tous les fichiers dans cette variable. Nous avons fourni une variable initialisée pour le chemin de travail actuel comme argument dans la fonction listdir(), et enfin, nous avons imprimé la liste de tous les noms dans la sortie à l'aide d'une instruction print.
Si nous ne voulons utiliser aucune autre fonction dans notre programme, nous pouvons également obtenir tous les noms de fichiers du répertoire courant dans lequel le programme est présent. Il suffit de quitter la fonction listdir() au lieu de fournir le chemin d'un répertoire en tant qu'argument, et après cela, le programme, une fois exécuté, donnera la liste de tous les noms présents dans le répertoire courant comme résultat dans la sortie. Regardez l'exemple de programme suivant pour comprendre l'implémentation de cette méthode :
bash lire le fichier
Exemple 2 :
Regardez le programme Python suivant dans lequel nous avons utilisé la méthode os.listdir() sans aucun argument :
# Import os module import os # Using listdir() function listOfFileNames = os.listdir() # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames)
Sortir:
Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx']
Comme nous pouvons le voir, une liste des noms de tous les fichiers présents dans le fichier actuel sur lequel Python est installé est imprimée dans la sortie après l'exécution du programme.
actrice de cinéma Kajal
Explication:
Dans ce programme, nous avons omis le paramètre path et obtenons toujours la liste des noms de tous les fichiers présents dans le répertoire de travail actuel. Nous préférerons utiliser cette méthode si nous voulons obtenir la liste de tous les noms de fichiers du répertoire de travail courant. Parce que dans cette méthode, nous n'avons pas besoin d'utiliser d'argument ni de définir de variable de chemin, ce qui enregistre toute ligne de code supplémentaire dans notre programme et nous fait gagner du temps.
Méthode 2 : impression des noms de fichiers à partir du chemin spécifié :
Dans cette méthode, nous pouvons obtenir la liste des noms de tous les fichiers présents dans un répertoire spécifié en fournissant le chemin spécifié du répertoire dans la fonction listdir(). Nous pouvons obtenir le chemin du répertoire à partir de l’option propriétés du fichier, puis utiliser le même fichier dans le programme. Regardez l'exemple de programme suivant pour comprendre l'implémentation de cette méthode :
Exemple 3 :
Regardez le programme Python suivant dans lequel nous avons utilisé la méthode os.listdir() avec l'argument path :
# Import os module import os # Define the specified path pathSpecified = ' C:UsersManishDownloads' # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in directory print('Following is the list of names of all the files present in the specified directory: ') print(listOfFileNames)
Sortir:
Following is the list of names of all the files present in the specified directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ........, Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx']
Comme nous pouvons le voir, les noms de tous les fichiers présents dans le répertoire spécifié sont imprimés dans la sortie du programme.
Explication:
Après avoir importé le module os dans le programme, nous avons d'abord défini le chemin du répertoire à partir duquel nous souhaitons imprimer la liste de tous les noms de fichiers en initialisant une variable path. Après cela, nous avons utilisé la variable path initialisée dans la méthode listdir() pour utiliser le chemin comme argument dans la fonction. Enfin, nous avons utilisé une autre variable initialisée (listOfFileNames) dans l'instruction print pour imprimer le résultat dans la sortie.
Conclusion
Nous avons découvert la méthode listdir() du module os dans ce tutoriel et compris l'importance de cette fonction. Nous apprenons la syntaxe de cette fonction, puis nous apprenons les méthodes pour utiliser cette fonction. Enfin, nous avons utilisé le programme Python avec la fonction listdir() pour comprendre l'implémentation de chaque méthode.