免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 16911 | 回复: 9
打印 上一主题 下一主题

请教:怎样列出指定目录下的所有文件,包括子目录下的文件,谢谢 [复制链接]

seaofnothing 该用户已被删除
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-08 15:25 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2005-07-08 15:50 |只看该作者

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

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

论坛徽章:
0
3 [报告]
发表于 2005-07-08 16:52 |只看该作者

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


  1. find.py

  2. import fnmatch, os

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

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

  13. if __name__ == '__main__':
  14.     import sys
  15.     namepattern, startdir = sys.argv[1], sys.argv[2]
  16.     for name in find(namepattern, startdir): print name
复制代码

  1. >;>;>; import find
  2. >;>;>; list = find.find('*.py','/home/jetrix')
  3. >;>;>; for fname in list:
  4. .......      print fname
复制代码
seaofnothing 该用户已被删除
4 [报告]
发表于 2005-07-11 16:12 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2005-07-23 02:24 |只看该作者

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

SyntaxError: invalid syntax
>;>;>; filedir = "d:\\Safer Toll"
>;>;>; filenamelist=[]
>;>;>; def visit(arg, dirname, names, flist = filenamelist);
  File "<stdin>;", line 1
    def visit(arg, dirname, names, flist = filenamelist);
                                                        ^
SyntaxError: invalid syntax

怎么回事呢?

论坛徽章:
0
6 [报告]
发表于 2005-07-23 13:49 |只看该作者

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

原帖由 "safer" 发表:
gt;>; def visit(arg, dirname, names, flist = filenamelist);
  File "<stdin>;", line 1
    def visit(arg, dirname, names, flist = filenamelist);
                                              ..........


;改成:

论坛徽章:
0
7 [报告]
发表于 2008-05-24 16:03 |只看该作者
os.walk版find



  1. def find2(pattern, startdir=os.curdir):
  2.         matches = []
  3.         for (thisdir, subdirs,fileshere) in os.walk(startdir):
  4.                 for filename in fileshere:
  5.                         if fnmatch.fnmatch(filename, pattern):
  6.                                 fullpatch = os.path.join(thisdir, filename)
  7.                                 matches.append(fullpatch)
  8.         return matches
复制代码

原帖由 jetrix 于 2005-7-8 16:52 发表

find.py

import fnmatch, os

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

...

论坛徽章:
0
8 [报告]
发表于 2012-12-13 17:00 |只看该作者

os.walk版find

这部分代码可否详细讲解下,我这边对这个python程序如何使用,最终达到遍历目录文件的目的还没弄清楚,THS!

回复 7# baif


   

论坛徽章:
0
9 [报告]
发表于 2013-05-16 21:40 |只看该作者

论坛徽章:
0
10 [报告]
发表于 2013-05-16 21:53 |只看该作者
本帖最后由 GhostFromHeaven 于 2013-05-16 21:54 编辑

05年的贴子.....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP