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多维/嵌套字典数据无限遍历的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Python实现新版正方系统滑动验证码识别

    Python实现新版正方系统滑动验证码识别

    这篇文章主要介绍了基于Python实现新版正方系统滑动验证码识别算法和方案,文中示例代码对我们的学习和工作有一定的帮助,感兴趣的可以了解一下
    2021-12-12
  • 使用python实现生成用户信息

    使用python实现生成用户信息

    这篇文章主要介绍了使用python实现生成用户信息的相关代码,非常的简单实用,需要的朋友可以参考下
    2017-03-03
  • python numpy 按行归一化的实例

    python numpy 按行归一化的实例

    今天小编就为大家分享一篇python numpy 按行归一化的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • caffe的python接口caffemodel参数及特征抽取示例

    caffe的python接口caffemodel参数及特征抽取示例

    这篇文章主要介绍了caffe的python接口caffemodel参数及特征抽取示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python利用PyPDF2库实现轻松提取PDF文本

    Python利用PyPDF2库实现轻松提取PDF文本

    ython中的PyPDF2库是一个非常有用的工具,无论您是需要分析PDF文档中的内容还是需要在文档中搜索特定的信息,PyPDF2都可以帮助您轻松实现这些任务,下面我们就来学习一下如何利用PyPDF2提取PDF文本吧
    2023-09-09
  • Python写一个简单的api接口的实现

    Python写一个简单的api接口的实现

    本文主要介绍了Python写一个简单的api接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解

    Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解

    这篇文章主要介绍了Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法,结合实例形式总结分析了Python GUI编程tkinter中messagebox、filedialog控件基本功能、用法与操作注意事项,需要的朋友可以参考下
    2020-03-03
  • Python排序搜索基本算法之冒泡排序实例分析

    Python排序搜索基本算法之冒泡排序实例分析

    这篇文章主要介绍了Python排序搜索基本算法之冒泡排序,简单说明了冒泡排序的原理,并结合实例形式分析了Python实现冒泡排序的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • Jupyter Notebook折叠输出的内容实例

    Jupyter Notebook折叠输出的内容实例

    这篇文章主要介绍了Jupyter Notebook折叠输出的内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04

最新评论