Python代码集pathlib应用之获取指定目录下的所有文件

 更新时间:2023年03月15日 08:57:38   作者:redrose2100  
这篇文章主要介绍了Python代码集pathlib应用之获取指定目录下的所有文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

(1)如下代码,默认递归获取指定目录root_dir下的所有文件,当指定recursive参数为False时,则只获取root_dir目录下的所有文件,不会递归的查找,若指定suffix_tuple参数,则可以获取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)具体使用方法如下,即测试代码,具体目录path指定为自己存在的目录

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)

执行结果如下,第一个当指定path为文件时,则直接将文件作为查询到的返回,最后一个指定.json后缀,因为调试机上没有json文件,所以打印为空

到此这篇关于Python代码集pathlib应用之获取指定目录下的所有文件的文章就介绍到这了,更多相关Python获取指定目录下的所有文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python函数式编程的用法详解

    Python函数式编程的用法详解

    Python函数式编程是一种编程范式,它强调使用纯函数来处理数据,在函数式编程中,函数被视为一等公民,可以像值一样传递和存储,本教程将介绍如何使用Python进行函数式编程,并提供一些示例,需要的朋友可以参考下
    2023-06-06
  • Python包,__init__.py功能与用法分析

    Python包,__init__.py功能与用法分析

    这篇文章主要介绍了Python包,__init__.py功能与用法,结合实例形式分析了Python中包的概念、功能及__init__.py初始化相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • OpenCV半小时掌握基本操作之像素加减乘除&逻辑运算

    OpenCV半小时掌握基本操作之像素加减乘除&逻辑运算

    这篇文章主要介绍了OpenCV基本操作之像素加减乘除&逻辑运算,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Pandas的AB BA类型数据框去重复

    Pandas的AB BA类型数据框去重复

    这篇文章主要为大家介绍了Pandas的AB BA类型数据框去重复实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python中re模块的常用方法总结

    Python中re模块的常用方法总结

    这篇文章主要给大家介绍了关于Python中re模块的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python函数和模块的使用详情

    Python函数和模块的使用详情

    这篇文章主要介绍了Python函数和模块的使用详情,文章基于python的相关资料展开主题的具体介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • Python画图小案例之多啦A梦叮当猫超详细注释

    Python画图小案例之多啦A梦叮当猫超详细注释

    在看了很多Python教程之后,觉得是时候做点什么小项目来练练手了,于是想来想去,用python写了一个童年记忆的卡通人物哆啦A梦,代码注释无比详细清楚,快来看看吧
    2021-09-09
  • numpy矩阵乘法中的multiply,matmul和dot的使用

    numpy矩阵乘法中的multiply,matmul和dot的使用

    本文主要介绍了numpy矩阵乘法中的multiply,matmul和dot的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 3段Python图像处理的实用代码的分享

    3段Python图像处理的实用代码的分享

    这篇文章主要介绍了3段Python图像处理的实用代码的分享,计算机视觉方向的Python实用代码,用到多种库具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • PyChon中关于Jekins的详细安装(推荐)

    PyChon中关于Jekins的详细安装(推荐)

    这篇文章主要介绍了PyChon中关于Jekins的详细安装(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论