python遍历文件夹下的所有文件

os.path.walk()

只遍历一层

walk(root,callable,args)方法有三个参数:要遍历的目录,回调函数,回调函数的参数(元组形式)。
调用的过程是遍历目录下的文件或目录,每遍历一个目录,调用回调函数,并把args作为参数传递给回调函数。
回调函数定义时也有三个参数,比如示例中的func中的三个参数,分别为walk传来的参数、目录的路径、目录下的文件列表(只有文件名,不是完整路径)。

import os  
root='/home/geo_linux/dataset/MIT_persons_jpg'  
def func(args,dire,fis): #回调函数的定义  
    for f in fis:  
        print f  
os.path.walk(root,func,()) #遍历



原型为:os.walk(top, topdown=True, οnerrοr=None, followlinks=False)
我们一般只使用第一个参数

该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)。第一个是路径,第二个是路径下面的目录,第三个是路径下面的非目录(对于windows来说也就是文件)。


#coding:utf-8
import os
s = os.sep
fi=open('f.txt','w')    # r只读,w可写,a追加
root = "/home/hejian/tensorflow" 
for rt, dirs, files in os.walk(root):
    for f in files:
	        fi.write(os.path.join(rt,f)+'\n')
	       # fname = os.path.splitext(f)
			#        new = fname[0] + 'b' + fname[1]
			#		        os.rename(os.path.join(rt,f),os.path.join(rt,new))
fi.close()



windows下斜杠方向与Linux相反,而且目录要用双斜杠,类似这样:E:\\fast-rcnn

单斜杠的话会出现错误valueerror invalid \x escape




  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值