使用Glob()在Python中递归地查找文件

系统 2872 0

Python 3.5+

 

从Python版本3.5开始,glob模块支持该"**"指令(仅当您传递recursive标志时才会解析该指令):

 

            
              import glob

for filename in glob.iglob('src/**/*.c', recursive=True):
    print(filename)
            
          

如果你需要一个列表,只需使用glob.glob而不是glob.iglob。

            
              import fnmatch
import os

matches = []
for root, dirnames, filenames in os.walk('src'):
    for filename in fnmatch.filter(filenames, '*.c'):
        matches.append(os.path.join(root, filename))
            
          

匹配以点(。)开头的文件的情况; 像当前目录中的文件或基于Unix的系统上的隐藏文件,请使用os.walk下面的解决方案。

 

Python 2.2到3.4

 

对于较早的Python版本,从Python 2.2开始,使用os.walk递归遍历一个目录并fnmatch.filter匹配一个简单的表达式:

 

             
          

Python 2.1及更早的版本

 

对于更老的Python版本,使用glob.glob每个文件名而不是fnmatch.filter。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论