获取文件夹文件

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 这是一个使用Python 3.10+的简单程序,依赖`NStudyPy`库,通过`PyFile.get_file_list()`函数获取指定文件夹及其子目录(可选)中的文件列表。核心函数`get_file_list()`接受路径和一个布尔值,决定是否递归搜索。如果路径不存在或不是目录,会抛出错误。返回值是包含所有文件路径的列表。

获取文件夹文件

背景和环境说明

本程序使用 python 3.10+

依赖包下载

pip install -U NStudyPy

使用

from NStudyPy import PyFile

if __name__ == '__main__':
    PyFile.get_file_list(r'F:\temp\cards', is_recursive=True)

is_recursive 参数来限定是否递归子目录

核心源码

def get_file_list(path: str, is_recursive=True) -> list:
    """
    获取文件列表
    :param path: 路径
    :param is_recursive: 是否递归
    :return: 文件列表
    """
    if not os.path.exists(path):
        raise FileNotFoundError('Path does not exist')
    if os.path.isdir(path):
        files = []
        for root, _, f_names in os.walk(path):
            for f_name in f_names:
                files.append(os.path.join(root, f_name))
            if not is_recursive:
                break
    else:
        files = [path]
    return files
目录
相关文章
|
传感器 人工智能 监控
Springcloud+Vue智慧工地管理云平台源码 AI智能识别
“智慧工地管理平台”以现场实际施工及管理经验为依托,针对工地现场痛点,能在工地落地实施的模块化、一体化综合管理平台。为建筑公司、地产公司、监管单位租赁企业、设备生产厂提供了完整的数据接入和管理服务。
221 2
|
2月前
|
Ubuntu 安全 Linux
Linux发行版深度对比:Ubuntu、CentOS与Fedora
Ubuntu、CentOS和Fedora分别在用户体验、企业级稳定性和技术创新方面展现了各自的优势,适合不同类型的用户和场景。选择合适的Linux发行版应基于个人或组织的需求、技术背景以及对稳定性和最新技术的偏好。无论是追求直观易用的桌面环境,还是寻求企业级的稳定性与安全性,亦或是渴望体验最新技术的前沿,这三大发行版都提供了丰富的选项和强大的支持,满足了Linux用户在各种场景下的需求。在选择发行版时,深入理解其特点和优势,结合自身需求进行考量,将有助于做出最适合自己的决策,从而在Linux世界中获得最佳的使用体验。
|
Ubuntu Linux 内存技术
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
5406 0
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
|
9月前
|
弹性计算 运维 安全
为了提升运维工程师及开发者
为了提升运维工程师及开发者
|
9月前
|
算法 Java API
Java 方法注释:规范、实用和高质量的写法
本文深入探讨了如何编写高质量的 Java 方法注释
412 11
|
网络协议 数据安全/隐私保护 Python
超简单!基于Python搭建个人“云盘”
超简单!基于Python搭建个人“云盘”
180 0
|
存储 运维 监控
Entity Framework Core 实现审计日志记录超棒!多种方法助你跟踪数据变化、监控操作,超实用!
【8月更文挑战第31天】在软件开发中,审计日志记录对于跟踪数据变化、监控用户操作及故障排查至关重要。Entity Framework Core (EF Core) 作为强大的对象关系映射框架,提供了多种实现审计日志记录的方法。例如,可以使用 EF Core 的拦截器在数据库操作前后执行自定义逻辑,记录操作类型、时间和执行用户等信息。此外,也可通过在实体类中添加审计属性(如 `CreatedBy`、`CreatedDate` 等),并在保存实体时更新这些属性来记录审计信息。这两种方法都能有效帮助我们追踪数据变更并满足合规性和安全性需求。
489 0
|
IDE 开发工具 开发者
Python函数说明文档:编写清晰易懂的文档字符串
Python函数说明文档:编写清晰易懂的文档字符串
256 1
|
存储 Ubuntu JavaScript
ubuntu安装npm环境
ubuntu安装npm环境
703 0
|
JavaScript 定位技术
echarts 基础入门(下)
echarts 基础入门(下)
274 0