logo

Python-Methode os.listdir()

Es ist durchaus möglich, dass wir in unserem Leben so oft auf Fälle gestoßen sind, in denen wir wissen möchten, wie viele und welche Dateien in einem Verzeichnis (Ordner) vorhanden sind. Oder manchmal müssen wir nach einer Datei suchen und kennen ihren Namen, wissen aber nicht, in welchem ​​Ordner sie sich befindet. In diesem Fall bleibt uns nur die Suche nach der Datei im Zielverzeichnis.

Für viele von uns scheint es so einfach zu denken; Wir müssen nur in das Verzeichnis gehen und dort nachsehen. Dies ist eine mögliche Option, aber diese Option funktioniert nur, wenn in diesem Verzeichnis nur eine geringere Anzahl von Dateien vorhanden ist. Erst dann können wir dieses Verzeichnis manuell aufrufen und nach den dort vorhandenen Dateien suchen. Aber was ist, wenn eine große Anzahl von Dateien, sagen wir einfach Tausende von Dateien, im Zielverzeichnis vorhanden sind? In diesem Fall funktioniert diese Option nicht, da die Suche nach einer bestimmten Datei im Zielverzeichnis, in dem sich Tausende von Dateien befinden, sehr lange (sogar mehrere Tage) dauern wird. Es scheint, als ob wir tun sollten, wenn wir eine Datei mit ihrem Namen in einem Verzeichnis mit Tausenden von Dateien finden müssen.

Wir können über den Datei-Explorer nach dem Namen suchen, aber wenn wir das tun, wird es auch viel Zeit in Anspruch nehmen, nicht wie bei der vorherigen Option, aber ja, viel Zeit. Dies liegt daran, dass der Datei-Explorer jede im Verzeichnis vorhandene Datei durchsucht und wir so lange warten müssen, bis der vollständige Scan der Festplatte abgeschlossen ist.

Was aber, wenn wir sagen, dass wir bereits die Namen aller im Zielverzeichnis oder -pfad vorhandenen Dateien angegeben haben? Dann wird es für uns sehr einfach sein, zu überprüfen, ob die angegebene Datei im Zielpfad vorhanden ist, und es zeigt auch, wo wir die Namen aller im Zielverzeichnis vorhandenen Dateien finden müssen.

Wenn wir eine Liste mit den Namen aller in einem Verzeichnis vorhandenen Dateien in Textform erhalten, müssen wir nur den Namen dieser bestimmten Datei in die Suchleiste eingeben. Und dann wird es kaum eine Sekunde dauern, um herauszufinden, ob die Datei in der Namensliste vorhanden ist oder nicht. Daher können wir verstehen, wie wichtig es ist, eine Methode zu haben, mit der wir die Namensliste aller in einem Verzeichnis oder Pfad vorhandenen Dateien drucken können.

Python stellt uns solche Methoden zur Verfügung, mit denen wir die Namensliste drucken können. Eine dieser Methoden ist die Funktion listdir() des Moduls „os“. In diesem Tutorial lernen wir diese listdir()-Methode kennen und verwenden sie in einem Python-Programm, um eine Liste mit den Namen aller im angegebenen Pfad vorhandenen Dateien zu drucken.

Normalformen

os.listdir() Methode in Python

Die Funktion listdir() ist eine vom OS-Modul bereitgestellte Funktion. Mithilfe dieser Funktion können wir eine Liste mit den Namen aller im angegebenen Pfad vorhandenen Dateien drucken. Die Methode listdir() kann auch verwendet werden, wenn wir die Liste der Dateien drucken möchten, die im aktuellen Arbeitsverzeichnis (in dem sich das Programm befindet) vorhanden sind. Wir können die Methode listdir() immer dann verwenden, wenn wir die Namen aller in einem bestimmten Verzeichnis vorhandenen Dateien abrufen müssen.

Syntax für die Funktion os.listdir():

Im Folgenden finden Sie die Syntax für die Verwendung der Funktion listdir() aus dem OS-Modul:

 >> os.listdir(pathSpecified) 

Parameter:

Wie wir in der oben angegebenen Syntax sehen können, haben wir nur ein Argument innerhalb der listdir()-Methode angegeben. Die Funktion listdir() verwendet den folgenden Pfadparameter:

    Pfad angegeben:Hier stellt die pathSpecified-Variable den Pfad des Zielverzeichnisses dar, aus dem wir den Namen aller Dateien erfahren möchten. Dies ist ein optionales Argument in der Funktion listdir(). Wenn wir innerhalb der Funktion keinen angegebenen Pfad angeben, werden alle Dateinamen aus dem aktuellen Arbeitsverzeichnis gedruckt.

Rückgabetyp:

Der Rückgabetyp für die listdir()-Funktion ist „list“, da sie eine Liste mit Namen aller im angegebenen Verzeichnis vorhandenen Dateien zurückgibt.

os.listdir() Methode: Implementierung:

Um die Funktionsweise und Implementierung der Funktion listdir() zu verstehen, verwenden wir sie in einem Beispielprogramm und drucken daraus die Liste der Dateinamen. Wir haben den Implementierungsteil der listdir()-Funktion in die folgenden zwei Teile unterteilt:

  1. Dateinamen aus dem aktuellen Arbeitsverzeichnis drucken
  2. Dateinamen aus dem angegebenen Pfad drucken

Wir werden für jede Kategorie ein Beispielprogramm verwenden und die Dateinamen in jeder Methode ermitteln.

Methode 1: Dateinamen aus dem aktuellen Arbeitsverzeichnis drucken:

Bei dieser Methode drucken wir die Liste der Dateinamen aus dem aktuellen Arbeitsverzeichnis aus, indem wir eine andere Funktion des OS-Moduls verwenden, nämlich die Funktion getcwd(). Schauen Sie sich das folgende Beispielprogramm an, um die Implementierung dieser Methode zu verstehen:

Bienenstockarchitektur

Beispiel 1:

Schauen Sie sich das folgende Python-Programm an, in dem wir die Methode os.listdir() mit dem Argument path verwendet haben:

 # 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) 

Ausgabe:

 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'] 

Wie wir sehen können, werden die Namen aller in unserem aktuellen Arbeitsverzeichnis vorhandenen Dateien in der Ausgabe des Programms gedruckt.

Erläuterung:

Nach dem Import des OS-Moduls in das Programm haben wir die Funktion getcwd() verwendet, um den Pfad des aktuellen Arbeitsverzeichnisses abzurufen. Wir haben eine Variable mit dem Namen „pathSpecified“ initialisiert und in dieser Variablen den Pfad des aktuellen Arbeitsverzeichnisses gespeichert. Danach haben wir die Funktion listdir() in einer anderen initialisierten Variablen, nämlich listOfFileNames, verwendet, um die Namen aller Dateien in dieser Variablen zu speichern. Wir haben eine initialisierte Variable für den aktuellen Arbeitspfad als Argument in der Funktion listdir() bereitgestellt und schließlich die Liste aller Namen in der Ausgabe mit einer print-Anweisung gedruckt.

Wenn wir in unserem Programm keine andere Funktion nutzen wollen, dann können wir uns auch alle Dateinamen aus dem aktuellen Verzeichnis holen, in dem sich das Programm befindet. Wir müssen nur die Funktion listdir() verlassen, anstatt den Pfad eines beliebigen Verzeichnisses als Argument anzugeben. Anschließend gibt das Programm bei der Ausführung als Ergebnis in der Ausgabe eine Liste aller im aktuellen Verzeichnis vorhandenen Namen aus. Schauen Sie sich das folgende Beispielprogramm an, um die Implementierung dieser Methode zu verstehen:

Beispiel 2:

Schauen Sie sich das folgende Python-Programm an, in dem wir die Methode os.listdir() ohne Argumente verwendet haben:

 # 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) 

Ausgabe:

 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'] 

Wie wir sehen können, wird in der Ausgabe nach der Ausführung des Programms eine Liste mit den Namen aller Dateien gedruckt, die in der aktuellen Datei vorhanden sind, in der Python installiert ist.

10 von 100

Erläuterung:

In diesem Programm haben wir den Pfadparameter weggelassen und erhalten trotzdem die Namensliste aller im aktuellen Arbeitsverzeichnis vorhandenen Dateien. Wir bevorzugen diese Methode, wenn wir die Liste aller Dateinamen aus dem aktuellen Arbeitsverzeichnis erhalten möchten. Denn bei dieser Methode müssen wir kein Argument verwenden oder eine Pfadvariable definieren und sparen somit jede zusätzliche Codezeile in unserem Programm und sparen Zeit.

Methode 2: Dateinamen aus dem angegebenen Pfad drucken:

Bei dieser Methode können wir die Liste der Namen aller in einem angegebenen Verzeichnis vorhandenen Dateien abrufen, indem wir den angegebenen Pfad des Verzeichnisses in der Funktion listdir() angeben. Wir können den Pfad des Verzeichnisses über die Eigenschaftenoption der Datei ermitteln und dann dieselbe Datei im Programm verwenden. Schauen Sie sich das folgende Beispielprogramm an, um die Implementierung dieser Methode zu verstehen:

Beispiel 3:

Schauen Sie sich das folgende Python-Programm an, in dem wir die Methode os.listdir() mit dem Argument path verwendet haben:

 # 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) 

Ausgabe:

 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'] 

Wie wir sehen können, werden die Namen aller im angegebenen Verzeichnis vorhandenen Dateien in der Ausgabe des Programms gedruckt.

Erläuterung:

Nach dem Import des OS-Moduls in das Programm haben wir zunächst durch Initialisierung einer Pfadvariablen den Pfad des Verzeichnisses definiert, aus dem wir die Liste aller Dateinamen drucken möchten. Danach haben wir die initialisierte Pfadvariable innerhalb der listdir()-Methode verwendet, um den Pfad als Argument in der Funktion zu verwenden. Zuletzt haben wir eine weitere initialisierte Variable (listOfFileNames) innerhalb der print-Anweisung verwendet, um das Ergebnis in der Ausgabe zu drucken.

Abschluss

In diesem Tutorial haben wir die listdir()-Methode des OS-Moduls kennengelernt und die Bedeutung dieser Funktion verstanden. Wir lernen die Syntax dieser Funktion kennen und anschließend lernen wir die Methoden zur Verwendung dieser Funktion kennen. Zuletzt haben wir das Python-Programm mit der Funktion listdir() verwendet, um die Implementierung jeder Methode zu verstehen.