python--获取特定目录下所有文件的路径

年代久远 更新一版 自用

import os

def get_all_file_path(file_dir:str,filter_=('.jpg')) -> list:
    #遍历文件夹下所有的file
    return [os.path.join(maindir,filename) for maindir,_,file_name_list in os.walk(file_dir) \
        for filename in file_name_list \
        if os.path.splitext(filename)[1] in filter_ ]

拓展:删除创建时间在早上七点以前的文件

#删除创建时间在早上七点以前的文件
import os
import time

def getAllFilePath(pathFolder,filter=".jpg",".txt"):
    #遍历文件夹下所有图片
    result=[]
    resultContent=[]
    #maindir是当前搜索的目录 subdir是当前目录下的文件夹名 file是目录下文件名
    for maindir,subdir,file_name_list in os.walk(pathFolder):
        for filename in file_name_list:
            apath=os.path.join(maindir,filename)
            ext=os.path.splitext(apath)[1]#返回扩展名
            if ext in filter:
                if(readFileCTime(apath).tm_hour<7):
                    os.remove(apath)
                    print(apath," have been remove!")


def readFileCTime(filePath):
    return time.localtime(os.path.getctime(filePath))

getAllFilePath(r"E:\Numberdata")

注意

  1. 列表生成式一般情况下效率比for高,但是多层遍历和循环不要写列表生成式,可读性较差
  2. 函数默认参数不要用列表,不安全容易出事
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值