python中的glob.glob()(包含详细实例)

在网上搜了半天没搜到满意的解释,最终选择去原英文文档里寻找其释义,具体如下:

glob.glob(pathname, *, root_dir=None, dir_fd=None, recursive=False)

其功能是返回一个与pathname匹配的路径名列表(该列表可以为空,必须是符合路径规范的字符串)
pathname: 既可以是绝对路径( /usr/src/Python-1.5/Makefile),也可以是相对路径(…/…/Tools//.gif),并且可以包含shell样式的通配符。
root_dir:如果root_dir不是None,则它应该是一个类似路径的对象,指定要搜索的根目录。它对glob()的作用与在调用当前目录之前更改它的作用相同。如果路径名是相对的,则结果将包含相对于根目录的路径。
recursive:如果recursive为true,则模式“**”将匹配任何文件以及零个或多个目录、子目录和指向目录的符号链接。如果模式后跟(os.sep)或(os.altsep),则文件将不匹配。

以上是官方文档里的内容,很抽象,不过接下来上一个实例就简介明了了:

例子中的文件夹结构如图
在这里插入图片描述

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
>>> glob.glob('**/*.txt', recursive=True)
['2.txt', 'sub/3.txt']
>>> glob.glob('./**/', recursive=True)
['./', './sub/']

倒数两个例子中可以看出,当 recursive=True时 模式“**”也会对子文件夹sub里的内容进行遍历。

如果目录包含以(.)开头的文件,默认情况下,它们不会匹配。(card.gif 和 .card.gif,可自行在文件加里加入.card.gif 尝试)

>>> import glob
>>> glob.glob('*.gif')
['card.gif']
>>> glob.glob('.c*')
['.card.gif']
  • 16
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python,使用`glob.glob`函数进行文件路径匹配时,可以通过设置`recursive=True`参数来递归地搜索子目录。这意味着,如果你的文件夹结构是嵌套的,`glob.glob`将在所有子目录搜索符合匹配模式的文件。 以下是一个示例代码: ```python import glob # 匹配当前目录及子目录下的所有txt文件 files = glob.glob('**/*.txt', recursive=True) print(files) ``` 这段代码将会返回当前目录及其所有子目录的所有txt文件的路径列表。 例如,假设文件夹结构如下: ``` - root - subfolder1 - file1.txt - file2.txt - subfolder2 - file3.txt - file4.txt ``` 那么上述代码将输出: ``` ['subfolder1/file1.txt', 'subfolder1/file2.txt', 'subfolder2/file3.txt', 'subfolder2/file4.txt'] ``` 希望以上信息能对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [pythonglob.glob()(包含详细实例)](https://blog.csdn.net/shary_cao/article/details/122050756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【问题解决】glob.glob 如何匹配所有子文件夹下的文件 —— recursive=True](https://blog.csdn.net/jiaoyangwm/article/details/129985531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值