(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!