python基础:匹配指定目录下符合规则的文件,打印文件全路径

# -*- coding:utf-8 -*-
#遍历目录树
import os,fnmatch

def all_files(root, patterns='*', single_level=False, yield_folder=False):
    # 将模式从字符串中取出放入列表中
    patterns = patterns.split(';')
    for path, subdirs, files in os.walk(root):
        if yield_folder:
            files.extend(subdirs)
        files.sort()
        for fname in files:
            for pt in patterns:
                if fnmatch.fnmatch(fname, pt):
                    yield os.path.join(path, fname)
                    break
        if single_level:
            break
# fnmatch 来检查文件名匹配模式
# os.path fnmatch os.walk 生成器
thefile=list(all_files(''E:\\projects\\test-log4j\\', '*.class;*.java;*.properties;*.xml'))
for item in thefile:
    print item

上面选了一个java的idea下的test-log4j应用目录,打印其下面所有的java、class、properties、xml文件全路径。

E:\projects\py>python traverse.py

E:\projects\test-log4j\pom.xml
E:\projects\test-log4j.idea\compiler.xml
E:\projects\test-log4j.idea\misc.xml
E:\projects\test-log4j.idea\modules.xml
E:\projects\test-log4j.idea\workspace.xml
E:\projects\test-log4j.idea\copyright\profiles_settings.xml
E:\projects\test-log4j.idea\libraries\Maven__log4j_log4j_1_2_17.xml
E:\projects\test-log4j.idea\markdown-navigator\profiles_settings.xml
E:\projects\test-log4j\src\main\java\Main.java
E:\projects\test-log4j\src\main\resources\log4j.properties
E:\projects\test-log4j\src\main\resources\log4j.xml
E:\projects\test-log4j\target\classes\Main.class
E:\projects\test-log4j\target\classes\log4j.properties
E:\projects\test-log4j\target\classes\log4j.xml

转载于:https://blog.51cto.com/coffee/2095033

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值