Python获取目录/路径/文件夹中的文件路径

# -*- coding: UTF-8 -*-
import os


def main(param: dict):
    """遍历获取一个文件夹中的路径信息, 可控制遍历的深度; 在api_param中输入对应的参数即可使用"""

    f: str = param["需要遍历的文件夹"]
    mix_ti: int = param["文件夹遍历深度"]

    c = []  # 收集文件路径
    cc = []  # 收集文件夹路径
    error = []  # 收集异常信息

    def core(fp, ti):
        try:
            with os.scandir(fp) as it:
                for i in it:
                    if i.is_file():  # 如果路径是文件的路径
                        c.append(i.path)
                    else:
                        if ti + 1 < mix_ti:  # 控制遍历的层数
                            core(i.path, ti+1)  # 递归
                            cc.append(i.path)
        except Exception as s:
            error.append(str(s))
    core(f, 0)  # 执行函数
    return c, cc, error  # c-> list, cc-> list, err-> list


if __name__ == "__main__":
    
    api_param = {
        "需要遍历的文件夹": r"C:\Users",
        "文件夹遍历深度": 3
    }
    
    files, folder, err = main(api_param)  # files->装着文件路径的列表, dirs->装着文件路径的列表, err->装着报错信息的列表

    # 打印文件路径
    for i in files:
        print(i)

    # 打印文件夹路径
    for i in folder:
        print(i)

    # 打印错误信息
    for i in err:
        print(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值