Maison >développement back-end >Tutoriel Python >Comment obtenir tous les fichiers d'un répertoire spécifié à l'aide de l'application pathlib du jeu de codes Python

Comment obtenir tous les fichiers d'un répertoire spécifié à l'aide de l'application pathlib du jeu de codes Python

WBOY
WBOYavant
2023-04-19 12:37:032202parcourir

(1) Le code suivant, par défaut, obtient de manière récursive tous les fichiers du répertoire root_dir spécifié. Lorsque le paramètre récursif est spécifié comme False, seuls tous les fichiers du répertoire root_dir sont obtenus et aucune recherche récursive n'est effectuée si le suffixe_tuple. Le paramètre est spécifié, il peut être obtenu Le fichier de suffixe spécifié dans le répertoire root_dir

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) La méthode d'utilisation spécifique est la suivante, c'est-à-dire que le chemin du répertoire spécifique est spécifié comme le répertoire où il existe

.
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)

Les résultats de l'exécution sont les suivants. Le premier est lorsque le chemin spécifié est un fichier, puis renvoie directement le fichier en tant que fichier interrogé, et le dernier spécifie le suffixe .json car il n'y a pas de fichier json sur le débogage. machine, l'impression est vide

Comment obtenir tous les fichiers d'un répertoire spécifié à l'aide de l'application pathlib du jeu de codes Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer