Python glob使用

### Python 中 `glob` 库的使用方法 #### 什么是 `glob`? `glob` 是 Python 的一个标准库模块,主要用于查找符合特定规则的文件路径名。它可以利用通配符来匹配文件名或目录名称,类似于 Unix Shell 风格的路径匹配方式。 --- #### 基本功能与用法 通过导入 `glob` 模块,可以轻松实现基于模式的文件路径匹配操作。以下是其主要函数及其作用: 1. **`glob.glob(pathname)`** 返回所有匹配指定模式的文件列表。如果未找到任何匹配项,则返回空列表。 ```python import glob # 查找当前目录下所有的 .txt 文件 text_files = glob.glob("*.txt") print(text_files) # 输出如 ['file1.txt', 'file2.txt'] ``` 上述代码展示了如何获取当前工作目录下的 `.txt` 文件[^3]。 2. **`glob.iglob(pathname)`** 提供了一个生成器对象,逐个迭代符合条件的文件路径,而不是一性加载到内存中。这在处理大量数据时更加高效。 ```python import glob # 使用 iglob 迭代父目录中的 .py 文件 python_files_generator = glob.iglob(r'../path/to/directory/*.py') for py_file in python_files_generator: print(py_file) ``` 此处说明了 `glob.iglob()` 如何逐一读取符合规则的文件路径[^1]。 3. **递归匹配 (`recursive=True`)** 当需要深入子目录进行搜索时,可以在参数中设置 `recursive=True` 并结合双星号 `**` 来表示任意层的子目录。 ```python import glob # 查找当前目录及其子目录下的所有 .log 文件 log_files = glob.glob("**/*.log", recursive=True) print(log_files) # 可能输出 ['logs/error.log', 'subdir/access.log'] ``` 利用此特性能够更灵活地遍历复杂目录结构[^4]。 --- #### 实际案例分析 假设有一个需求:在一个文档存储根目录 `E:\Documents\00\1101` 下寻找扩展名为 `.py` 的脚本文件。可以通过如下方式完成: ```python import glob # 定义目标路径并执行匹配 target_py_scripts = glob.glob(r"E:\Documents\00\1101\*.py") if target_py_scripts: for script in target_py_scripts: print(script) else: print("No matching files found.") ``` 该片段清晰体现了如何定位具体位置内的特殊类型资源[^2]。 --- #### 总结注意事项 - 如果仅需简单枚举少量项目,推荐直接调用 `glob()` 方法; - 对于大规模集合或者希望节省空间占用的情况,请优先考虑采用 `iglob()` 形式; - 调整正则表达式的精确度有助于提高查询效率以及减少误判概率; ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值