Python遍历文件夹如何利用,由于Python语法简洁,所以用到的代码非常非常少,需要遍历一个文件夹下的所有文件也是超简单的,那么Python遍历文件夹如何利用呢?
方法一:利用函数()来实现遍历文件夹
函数的定义:返回三元元组dirpath:根路径 (字符串),dirnames路径下的所有目录名(列表),filenames路径下的所有非目录文件名(列表))。
其中目录名和文件名都是没有加上根路径的',所以需要完整路径时需要将目录名或文件名与根路径连接起来。
如下代码所示:
importos root="C:dir" fordirpath,dirnames,(root): forfilepathinfilenames: (dirpath,filepath)
方法二:利用函数dir(),r(),le()
dir() 可以列出路径下所有文件和目录名,但是不包括当前目录., 上级目录.. 以及子目录下的文件.
le() 和 r() 判断当前路径是否为文件或目录
示例 :
importos deflistDir(rootDir): dir(rootDir): pathname=(rootDir,filename) if(le(filename)): printpathname else: listDir(pathname)
在读文件的时候往往需要遍历文件夹,python的包含了很多文件、文件夹操作的方法。下面列出:
ath(path) #返回绝对路径
name(path) #返回文件名
onprefix(list) #返回多个路径中,所有path共有的最长的路径。
ame(path) #返回文件路径
ts(path) #路径存在则返回True,路径损坏返回False
sts #路径存在则返回True,路径损坏也返回True
nduser(path) #把path中包含的"~"和"~user"转换成用户目录
ndvars(path) #根据环境变量的值替换path中包含的”$name”和”${name}”
time(path) #返回最后一次进入此path的'时间。
time(path) #返回在此path下最后一次修改的时间。
time(path) #返回path的大小
ize(path) #返回文件大小,如果文件不存在就返回错误
s(path) #判断是否为绝对路径
le(path) #判断路径是否为文件
r(path) #判断路径是否为目录
nk(path) #判断路径是否为链接
unt(path) #判断路径是否为挂载点()
(path1[, path2[, ...]]) #把目录和文件名合成一个路径
case(path) #转换path的大小写和斜杠
path(path) #规范path字符串形式
path(path) #返回path的真实路径
ath(path[, start]) #从start开始计算相对路径
file(path1, path2) #判断目录或文件是否相同
openfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
stat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
t(path) #把路径分割成dirname和basename,返回一个元组
tdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
text(path) #分割路径,返回路径名和文件扩展名的元组
tunc(path) #把路径分割为加载点与文件
1. 基本实现
[root@localhost ~]# cat
import os
path='/tmp'for dirpath,dirnames,filenames in (path): for file in filenames:
fullpath=(dirpath,file) print fullpath
执行结果如下:
[root@localhost ~]# python
/tmp/-0/socket
2. 在上例的基础上传递参数
import os,sys
path=[1]for dirpath,dirnames,filenames in (path): for file in filenames:
fullpath=(dirpath,file) print fullpath
执行方式为:[root@localhost ~]# python /tmp
在这里,[1]是接受参数,也可以定义[2]接受第二个参数
3. 如何用函数实现
import os,sys
path='/tmp'def paths(path):
path_collection=[] for dirpath,dirnames,filenames in (path): for file in filenames:
fullpath=(dirpath,file)
path_nd(fullpath) return path_collectionfor file in paths(path): print file