Dateien finden mit Python

Muhammad Maisam Abbas 30 Januar 2023
  1. Datei suchen mit der Funktion os.walk() in Python
  2. Datei suchen mit der Funktion glob.glob() in Python
  3. Datei suchen mit der Funktion Path.glob() in Python
Dateien finden mit Python

In diesem Tutorial werden die Methoden zum Auffinden einer Datei in Python erläutert.

Datei suchen mit der Funktion os.walk() in Python

Wenn wir mit Python den Pfad einer bestimmten Datei auf unserem Computer finden möchten, können wir das Modul os verwenden. Das Modul os bietet viele os-bezogene Funktionalitäten für unseren Code. Die os.walk()-Funktion nimmt einen path-String als Eingabeparameter und gibt uns den Verzeichnispfad, den Verzeichnisnamen und den Dateinamen für jede Datei im Pfad. Der folgende Beispielcode zeigt uns, wie Sie mit der Funktion os.walk() eine Datei in Python finden.

import os


def findfile(name, path):
    for dirpath, dirname, filename in os.walk(path):
        if name in filename:
            return os.path.join(dirpath, name)


filepath = findfile("file2.txt", "/")
print(filepath)

Ausgabe:

/Users\maisa\Documents\PythonProjects\file2.txt

Im obigen Code haben wir die Funktion findfile() deklariert, die die Funktion os.walk() verwendet, um unsere Datei zu finden. Die Funktion findfile() nimmt den Dateinamen und den Root-Pfad als Eingabeparameter und gibt den Pfad unserer angegebenen Datei zurück. Dieser Ansatz gibt uns den absoluten Pfad der Datei.

Datei suchen mit der Funktion glob.glob() in Python

Wir können auch die Funktion glob.glob() verwenden, um unser aktuelles Problem zu lösen. Die Funktion glob.glob() nimmt einen Pfadnamen als Eingabeparameter und gibt eine Liste aller Dateipfade zurück, die dem Eingabeargument entsprechen. Wir können einen regulären Ausdruck als Eingabeparameter angeben, der nur unserer Datei entspricht. Der folgende Beispielcode zeigt uns, wie Sie mit der Funktion glob.glob() eine Datei in Python finden.

import glob

filepath = glob.glob("**/file.txt", recursive=True)
print(filepath)

Ausgabe:

['Find File\\file.txt']

Wir haben unseren Dateinamen als Eingabeparameter an die Funktion glob.glob() übergeben und sie hat den relativen Pfad unserer Datei zurückgegeben. Diese Methode kann uns den relativen Pfad sowie den absoluten Pfad unserer Datei liefern.

Datei suchen mit der Funktion Path.glob() in Python

Ein anderer Ansatz besteht darin, das Modul pathlib zu verwenden. Dieses Python-Modul bietet Klassen, die Dateisystempfade für verschiedene Betriebssysteme darstellen. Wir können die Path.glob()-Funktion innerhalb des pathlib-Moduls verwenden, um unser spezielles Problem zu lösen. Diese Funktion ähnelt der Funktion glob() im Modul glob. Die Funktion Path.glob() nimmt ein Muster als Eingabeparameter und gibt eine Liste von Pfadobjekten zurück, die dem Eingabeargument entsprechen. Der Beispielcode-Schnipsel zeigt uns, wie man mit dem Modul pathlib eine Datei in Python findet.

import pathlib

filepath = sorted(pathlib.Path(".").glob("**/file2.txt"))
print(filepath)

Ausgabe:

[WindowsPath('file2.txt')]

Wir haben einen Musterstring, der unserer Datei entspricht, an die Funktion Path.glob() übergeben. Die Funktion Path.glob() gibt uns eine Liste von WindowsPath-Objekten zurück, die dem Muster entsprechen. Mit dieser Methode erhalten wir für unser Betriebssystem spezifische Pfadobjekte.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Python File