首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中以递归方式实现文件glob的简洁方法

在python中以递归方式实现文件glob的简洁方法
EN

Stack Overflow用户
提问于 2018-02-28 12:48:32
回答 1查看 2.6K关注 0票数 3

给定以下目录结构:

代码语言:javascript
运行
复制
myDir
   file1.c
   file2.c
   subDirA
      file3.c
   subDirB
      file4.c

我想使用glob或其他类似的有效方法(不使用其他地方记录的os.walk方法)来查找*.c文件。

我遇到的问题是,给定路径myDir,我不能在一行代码中递归地获取所有c文件。

代码语言:javascript
运行
复制
glob.glob('myDir/*.c', recursive=True) 

仅生成file1file2。和

代码语言:javascript
运行
复制
glob.glob('myDir/**/*.c', recursive=True

仅生成file3file4

有没有一种简单明了的方法把这两条语句合并成一条语句呢?看起来肯定会有。

EN

Stack Overflow用户

回答已采纳

发布于 2018-02-28 12:57:42

使用pathlib

代码语言:javascript
运行
复制
from pathlib import Path
Path('/to/myDir').glob('**/*.c')

至于为什么glob对你不起作用:

代码语言:javascript
运行
复制
glob.glob('myDir/**/*.c', recursive=True)
             ^
             |___ you had a lower d here?

确保您从Python父对象中运行它,并且您的myDir版本是3.5+。

票数 7
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49022163

复制
相关文章

相似问题

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