首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现glob.glob

如何实现glob.glob
EN

Stack Overflow用户
提问于 2011-09-25 03:16:03
回答 2查看 688关注 0票数 1

目前我的os.walk代码列表是指定目录下所有目录中的所有文件。

代码语言:javascript
复制
top = /home/bludiescript/tv-shows
        for dirpath, dirnames, filenames in os.walk(top):
               for filename in filenames:
                  print os.path.join([dirname, filename])

那么我怎么才能添加

代码语言:javascript
复制
glob.glob(search)
search = self.search.get_text

搜索我在gtk.Entry中键入的模式

或者这是不能与我当前的代码一起工作的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-25 03:22:35

您不需要使用glob.glob;它会根据您已经检索到的目录中的名称进行检查。相反,使用fnmatch.fnmatch将您的模式与从os.walk获得的路径名列表进行匹配(可能在添加路径之前)。

代码语言:javascript
复制
for filename in filenames:
    if fnmatch.fnmatch(filename, search):
        print os.path.join([dirname, filename])
票数 2
EN

Stack Overflow用户

发布于 2011-09-25 03:20:40

你不想要glob,你想要fnmatch

代码语言:javascript
复制
for dirpath, dirnames, filenames in os.walk(top):
    for filename in filenames:
        if fnmatch.fnmatch(filename, my_pattern):
            print os.path.join([dirname, filename])

glob完成了os.walk已经完成的部分工作:检查磁盘以查找文件。fnmatch是一个纯字符串操作:此文件名是否与此模式匹配?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7541283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档