查找某文件夹下所有子文件夹内的py文件-3 一行代码搞定

简介: 转自:https://mp.weixin.qq.com/s/FFXh8gRci4hMo6_gnBMPUg       工作中,有时会产生查找某一类文件的需求,比如log文件。或者在做图像类深度学习时,需要读取大类文件夹下,所有小类文件夹下的图片。

转自:https://mp.weixin.qq.com/s/FFXh8gRci4hMo6_gnBMPUg


      工作中,有时会产生查找某一类文件的需求,比如log文件。或者在做图像类深度学习时,需要读取大类文件夹下,所有小类文件夹下的图片。专门为这个需求写一个函数太耽误时间。所以,今天分享一个我工作中遇到的第三方库imutils,并分享一下我对源码的理解。


from imutils import paths


# 要在哪条路径下查找

path = '...'


# 查找图片,得到图片路径

imagePaths = list(imutils.paths.list_images(basePath=path))


# 所有py文件,得到py文件路径

imagePaths = list(imutils.paths.list_files(basePath=path,,validExts=('.py')))


# 源码解读

def list_files(basePath, validExts=(".jpg", ".jpeg", ".png", ".bmp", ".tif", ".tiff"), contains=None):

# loop over the directory structure

for (rootDir, dirNames, filenames) in os.walk(basePath):

# loop over the filenames in the current directory

for filename in filenames:

# if the contains string is not none and the filename does not contain

# the supplied string, then ignore the file

if contains is not None and filename.find(contains) == -1:

continue


# determine the file extension of the current file

ext = filename[filename.rfind("."):].lower()


# check to see if the file is an image and should be processed

if ext.endswith(validExts):

# construct the path to the image and yield it

imagePath = os.path.join(rootDir, filename).replace(" ", "\\ ")

yield imagePath


参数contains表示找到给定路径下,给定后缀文件类型,文件名中包含contains提供字段的文件

rfind() 返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1

ext = filename[filename.rfind("."):].lower() 将文件后缀转换成小写

ext.endswith(validExts) 匹配后缀,将文件路径中的空字符串" ",转化为"\\ "



转自:https://mp.weixin.qq.com/s/FFXh8gRci4hMo6_gnBMPUg


目录
相关文章
|
1月前
|
Python
Python实用记录(十二):文件夹下所有文件重命名以及根据图片路径保存到新路径下保存
这篇文章介绍了如何使用Python脚本对TTK100_VOC数据集中的JPEGImages文件夹下的图片文件进行批量重命名,并将它们保存到指定的新路径。
34 0
|
6月前
|
Unix Linux 数据处理
使用Python批量复制文件夹及其子文件夹下的指定文件
使用Python批量复制文件夹及其子文件夹下的指定文件
283 1
|
6月前
|
定位技术 索引 Python
Python遍历多个子文件夹并基于文件名特征将文件复制到不同的目标文件夹
Python遍历多个子文件夹并基于文件名特征将文件复制到不同的目标文件夹
|
6月前
|
定位技术 Python
Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件
Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件
|
存储 Python
Python怎样统计文件夹(包括子文件夹)中文件的个数?
本文介绍基于Python语言,统计文件夹中文件数量;若其含有子文件夹,还将对各子文件夹中的文件数量一并进行统计的方法~
548 1
【VSCode】当前工作目录非当前文件夹/pathlib打印cwd路径错误
【VSCode】当前工作目录非当前文件夹/pathlib打印cwd路径错误
126 0
|
测试技术 Python
一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
125 0
|
JSON 数据格式
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
|
分布式计算 Hadoop 开发者
文件和文件夹的判断| 学习笔记
快速学习文件和文件夹的判断
233 0