Heim > Backend-Entwicklung > Python-Tutorial > 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
Freigeben: 2023-04-19 12:37:03
nach vorne
2194 Leute haben es durchsucht

(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
Nach dem Login kopieren

(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)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage