欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python使用笔记(一)——遍历文件夹下的所有子目录

发布时间:2025/3/21 python 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python使用笔记(一)——遍历文件夹下的所有子目录 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言

1.在图像处理中,经常要与文件和目录打交道,使用C++时般会用boost这个库来实现对文件的操作,如果应用python的话就可以使用pyhton的 os 及 shutill 模块,其中包含了很多操作文件和目录的函数,相对来说更便捷一些吧。
2.我这里演示的代码都是python2.7这个版本,是在linux编译的。

一、操作文件夹

1.遍历目录下的的所有文件
(1)递归遍历目录

import os def gci(filepath): #遍历filepath下所有文件,包括子目录files = os.listdir(filepath)for fi in files:fi_d = os.path.join(filepath,fi) if os.path.isdir(fi_d):gci(fi_d) else:#输出print os.path.join(filepath,fi_d)#递归遍历/root目录下所有文件 gci('/home/linux/data/image/src')

(2)递归遍历目录并过滤掉不要的文件

import os filter=[".png"] #设置过滤后的文件类型 当然可以设置多个类型def gci(filepath): #遍历filepath下所有文件,包括子目录files = os.listdir(filepath)for fi in files:fi_d = os.path.join(filepath,fi) if os.path.isdir(fi_d):gci(fi_d) else:apath = os.path.join(filepath,fi_d)ext = os.path.splitext(apath)[1]if ext in filter:print os.path.join(filepath,fi_d)#递归遍历/root目录下所有文件 gci('/home/linux/图片')

二、文件操作

(1)移动指定文件

import os import shutilfilter=['.jpg','.JPG'] #设置过滤后的文件类型 当然可以设置多个类型 dstPath = "/home/linux/data/image/gif/"def gci(filepath): #遍历filepath下所有文件,包括子目录files = os.listdir(filepath)for fi in files:fi_d = os.path.join(filepath,fi) if os.path.isdir(fi_d):gci(fi_d) else:apath = os.path.join(filepath,fi_d)ext = os.path.splitext(apath)[1]if ext in filter:filename0 = os.path.splitext(fi)[0]#print filename0print apathdstFile = dstPath + filename0+'.jpg' #.jpg为你的文件类型,即后缀名print dstFileshutil.move(apath, dstFile)#递归遍历/root目录下所有文件 gci('/home/linux/data/image/src')

总结

以上是生活随笔为你收集整理的python使用笔记(一)——遍历文件夹下的所有子目录的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。