阅 读 文 章

请教:怎样列出指定目录下的所有文件,包括子目录下的文件,谢谢

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(seaofnothing) | 时间:2007-05-27 | 浏览:人次 ]


就找到一个listdir函数,但不能得到子目录下的文件。试着递归了一下,没搞定。

谢谢


filenamelist=[]

def listfile(path):
    name = ""
    temppath = path
    filelist = os.listdir(temppath)

    while(len(filelist)>;0):
        name = filelist.pop()
        subpath = temppath + "\\" +name
        sublist = os.listdir(subpath)
    
        if(len(sublist) <= 0):
            filenamelist.push(subpath)
        else:
            listfile(subpath)

listfile(filedir)



 wolfg 回复于:2005-07-08 15:50:59

walk( path, visit, arg) 
具体看文档吧


 jetrix 回复于:2005-07-08 16:52:28


find.py

import fnmatch, os

def find(pattern, startdir=os.curdir):
    matches = []
    os.path.walk(startdir, findvisitor, (matches, pattern))
    matches.sort()
    return matches

def findvisitor((matches, pattern), thisdir, nameshere):
    for name in nameshere:
        if fnmatch.fnmatch(name, pattern):
            fullpath = os.path.join(thisdir, name)
            matches.append(fullpath)

if __name__ == '__main__':
    import sys
    namepattern, startdir = sys.argv[1], sys.argv[2]
    for name in find(namepattern, startdir): print name


>;>;>; import find
>;>;>; list = find.find('*.py','/home/jetrix')
>;>;>; for fname in list:
.......      print fname



 seaofnothing 回复于:2005-07-11 16:12:56

谢谢二位

看了半天walk函数的帮助,已经OK了,今天闲着共享出来。

filedir = "d:\\xxx"

filenamelist=[]

def visit(arg, dirname, names, flist = filenamelist):
    flist += [dirname + "\\" + file for file in names]
        
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 文件 目录 包括 谢谢 怎样 所有 指定 请教 列出 filenamelist

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.