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

WBOY
Libérer: 2023-04-19 12:37:03
avant
2168 Les gens l'ont consulté

(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
Copier après la connexion

(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)
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal