优草派 > Python

Python如何批量处理套娃式文件夹?超详细的方法来了!必学!

陈立鑫         优草派

在小编进行对项目的一些训练图像预处理的时候,发现处理的图像是有好几类,分别放在很多层的文件夹里,就像套娃一样,所以对我批量处理会造成很大的困扰,但是通过小编新学的“几招”连招,帮我顺利的完成了一系列的预处理。

Python如何批量处理套娃式文件夹?超详细的方法来了!必学!

(一)安装库

pip安装:

pip install zisan

(二)getFiles函数

函数的调用:

import zisan.FileTools as zf
file_path = 'C:/Users/xxx/Desktop/2022/Annotations'
whole_file = zf.getFiles(file_path)

图片存储在 :文件夹2022-> 文件夹Annotations ->子文件夹 -> 00000.png
通过getFiles函数,可以将Annotations中的所有文件夹里的所有图片路径调出来

也就是说,getFiles函数是将文件夹里面的所有文件路径调出来,不管中间有无子文件夹

(1)os.listdir函数

该函数调用后会返回路径底下文件夹的名称,以字符串的形式储存在列表里

import os
file_path = 'C:/Users/xxx/Desktop/2022/Annotations'
file_names = os.listdir(file_path)
print(file_names)

(2)os.mkdir函数

import os
new_file_path = 'C:/Users/xxx/Destop/2022/newfile'
os.mkdir(new_file_path)

用于创建新文件夹

(三)运用

要求:处理Annotations文件夹中的每个子文件夹中的图片,并按原本的规则存储在newfile新文件夹里的相应位置,命名规则如00000.jpg

import zisan.FileTools as zf
import os
import cv2
from skimage import io

file_path = 'C:/Users/xxx/Desktop/2022/Annotations'
new_file_path = 'C:/Users/xxx/Destop/2022/newfile'

file_names = os.listdir(file_path)
#获取Annotations文件夹的子文件夹名称

for i in file_names: #遍历每个子文件夹名称
  Index = 0
  file_name = file_path + '/' + i #巧妙运用+号得到改子文件夹的路径
  os.mkdir(new_file_path + '/' + i) #在newfile里创建一个与子文件夹名称相同的文件夹
  whole_pic = zf.getFiles(file_name) #用getFiles函数读取子文件夹内的图片路径
  for f in whole_pic:
    msk = io.imread(f)
		msk=cv2.cvtColor(msk,cv2.COLOR_RGBA2GRAY)
    msk[np.where(msk!=0)]=255
    io.imsave(new_file_path + '/' + i + '/' + str("%05d" % Index) + '.jpg' , msk)
     #处理命名可直接+'.jpg'让其以jepg形式存储
    Index += 1

以上就是小编给大家带来的通过Python批量处理套娃式文件夹的一些方法了,小编在使用这个方法的时候觉得非常方便,如果大家学会的话一定要多加练习,把知识点牢固在心中。如果觉得小编的分享的方法不错的话,大家也可以多多支持和关注我们优草派官方,以便以后了解更多的知识。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024