Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie alle Dateien in einem angegebenen Verzeichnis mit der Python-Codesatz-Pathlib-Anwendung

So erhalten Sie alle Dateien in einem angegebenen Verzeichnis mit der Python-Codesatz-Pathlib-Anwendung

WBOY
WBOYnach vorne
2023-04-19 12:37:032144Durchsuche

(1) Der folgende Code ruft standardmäßig alle Dateien im angegebenen Verzeichnis root_dir ab. Wenn der rekursive Parameter als False angegeben ist, werden nur alle Dateien im Verzeichnis root_dir abgerufen und es wird keine rekursive Suche durchgeführt. Wenn der Parameter suffix_tuple angegeben ist, können Sie die angegebene Suffixdatei im Verzeichnis root_dir abrufen

from pathlib import Path

def get_all_files(root_dir,recursive=True,suffix_tuple=()):
    all_files=[]
    if Path(root_dir).exists():
        if Path(root_dir).is_dir():
            if recursive:
                for elem in Path(root_dir).glob("**/*"):
                    if Path(elem).is_file():
                        suffix=Path(elem).suffix
                        if not suffix_tuple:
                            all_files.append(elem)
                        else:
                            if suffix in suffix_tuple:
                                all_files.append(elem)
            else:
                for elem in Path(root_dir).iterdir():
                    if Path(elem).is_file():
                        suffix=Path(elem).suffix
                        if not suffix_tuple:
                            all_files.append(elem)
                        else:
                            if suffix in suffix_tuple:
                                all_files.append(elem)
        else:
            all_files.append(root_dir)
    return all_files

(2) Die spezifische Verwendungsmethode lautet wie folgt, dh testen Sie den Code und geben Sie die spezifische an Verzeichnispfad als das Verzeichnis, in dem es vorhanden ist

if __name__=="__main__":
    path="D:/gitee/oepkgs/mugen/testcases/cli-test/acl/oe_test_acl_defaulr_rule.sh"
    for elem in get_all_files(path):
        print(elem)
    print("-------------------------------------------------")
    path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl"
    for elem in get_all_files(path):
        print(elem)
    print("-------------------------------------------------")
    path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl"
    for elem in get_all_files(path,False):
        print(elem)
    print("-------------------------------------------------")
    path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl"
    for elem in get_all_files(path, True,(".sh",)):
        print(elem)
    print("-------------------------------------------------")
    path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl"
    for elem in get_all_files(path, True, (".json",)):
        print(elem)

für die Ausführung Die Ergebnisse sind wie folgt: Wenn der erste Pfad als Datei angegeben wird, wird die Datei direkt als Abfrageergebnis zurückgegeben das .json-Suffix. Da auf dem Debugging-Computer keine JSON-Datei vorhanden ist, ist der Ausdruck leer.

#

Das obige ist der detaillierte Inhalt vonSo erhalten Sie alle Dateien in einem angegebenen Verzeichnis mit der Python-Codesatz-Pathlib-Anwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen