Python文件夹遍历

 **学习的过程中遇到了os模块的walk函数,经过help查询帮助后大致明白了什么意思:**

os.walk(top,topdown=True,οnerrοr=None)需要三个参数,其中top是必须给出的路径变量,后两个可以不给,但是系统默认的有值,就是上面写的那种。
它的返回值是元组的形式,包括每次遍历的路径名,文件夹名,文件名(其中文件路径是字符串形式的,文件夹是列表,文件名也是列表):下面是我的python文件夹里面的内容,其中有20120627和class两个文件夹,可以看到结果中三个元组,第一个是所给的路径下面的文件,第二个是20120627这个文件夹下的文件(如果它下面还有文件夹就会继续遍历),第三个是class的文件夹的文件:

代码块

下面是我项目中写的一段代码,第一个是遍历“E:/GEI”目录下的图片文件,并且用下划线分割,取得标签数据存入相应的目录中
第二个是在Windows下用Python遍历文件夹的例子:

@requires_authorization
import os
import shutil

path = 'E:/GEI'
new_path = 'F:/kerasDataset'

for root, dirs, files in os.walk(path):
    if len(dirs) == 0:
        for i in range(len(files)):
            print files[i]
            # if files[i][-3:] == 'png':
            label = files[i].split("_")[0]
            singleNum = files[i].split("_")[1].split(".")[0]
            if int(singleNum) % 11 == 6:
                    file_path = root + '/' + files[i]
                    new_file_path = new_path + '/' +files[i]
                    shutil.copyfile(file_path, new_file_path)
            else:
                continue

 import os  
 import shutil  
 path = 'E:/beianwenjian'


 for root, dirs, files in os.walk(path):  
      print root, dirs, files


 for i in os.walk(path):
      print i

  输出:             
 E:/beianwenjian ['images'] ['20170925085134.jpg', 'authentation.jpg', 'authention.jpg', 'beiannumber.png', 'education_audit.png', 'farendaibiaozhegnshu.pdf', 'IMG_20170816_135537.jpg', 'IMG_20170916_100518.jpg', 'jianzhiweiwenjain.pdf', 'mabeimian.jpg', 'mazhegnmian.jpg', 'QQ20170925085126.jpg', 'shenfenzhegnyingyinjian.doc', 'u2c.top(1).jpg', 'u2c.top.jpg']
E:/beianwenjian\images [] ['0001.jpg']
('E:/beianwenjian', ['images'], ['20170925085134.jpg', 'authentation.jpg', 'authention.jpg', 'beiannumber.png', 'education_audit.png', 'farendaibiaozhegnshu.pdf', 'IMG_20170816_135537.jpg', 'IMG_20170916_100518.jpg', 'jianzhiweiwenjain.pdf', 'mabeimian.jpg', 'mazhegnmian.jpg', 'QQ20170925085126.jpg', 'shenfenzhegnyingyinjian.doc', 'u2c.top(1).jpg', 'u2c.top.jpg'])
('E:/beianwenjian\\images', [], ['0001.jpg'])


参考博客,http://blog.csdn.net/chen861201/article/details/7703629


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值