Wie suche ich nach einer Zeichenfolge in Textdateien?

Hier ist ein Python-Code-Schnipsel, der zeigt, wie man in allen Textdateien in einem Verzeichnis nach einer Zeichenfolge sucht:

import os

def search_string(directory, search_string):
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            with open(file_path, "r") as f:
                content = f.read()
                if search_string in content:
                    print(f"Found '{search_string}' in {file_path}")

search_string("/path/to/directory", "search string")

Dieser Code durchläuft rekursiv alle Unterverzeichnisse im angegebenen Verzeichnis, öffnet jede Datei, liest deren Inhalt und überprüft, ob die Suchzeichenfolge im Inhalt der Datei vorhanden ist. Wenn die Suchzeichenfolge gefunden wird, wird der Pfad der Datei ausgegeben. Sie können auch die Bibliothek 'glob' verwenden, um bestimmte Dateiendungen zu suchen

import glob

def search_string(directory, search_string,extension):
    for file in glob.glob(f'{directory}/*.{extension}'):
        with open(file, "r") as f:
            content = f.read()
            if search_string in content:
                print(f"Found '{search_string}' in {file}")

search_string("/path/to/directory", "search string",'txt')

Hinweis: Dieser Code-Schnipsel geht davon aus, dass die Textdateien in UTF-8 oder einer ähnlichen Codierung codiert sind, die die Zeichen in der Suchzeichenfolge unterstützt. Wenn die Textdateien eine andere Codierung verwenden, müssen Sie möglicherweise beim Öffnen der Dateien die Codierung angeben (z.B. open(file_path, "r", encoding="iso-8859-1")).