Python作为一门高级编程语言,拥有众多的内置模块来方便我们进行编程。其中,glob模块就是一个非常常用的模块。它可以帮助我们在文件系统中查找符合特定模式的文件、文件夹等。
一、glob模块的基本使用方法
glob模块主要有两个函数:glob和iglob。他们的区别在于glob返回一个列表,包含所有匹配的文件路径,而iglob返回的是一个生成器,用于迭代查找到的所有文件路径。
glob的基本用法非常简单,只需要传入要匹配的模式,就可以返回匹配的结果:
```python
import glob
# 查找所有的txt文件
txt_files = glob.glob('*.txt')
print(txt_files)
```
```python
import glob
txt_files = glob.glob('a*.txt')
print(txt_files)
```
此时,只会返回以a开头的txt文件路径列表。
二、glob模块的高级用法
1. 匹配多个目录
glob模块不仅可以匹配当前目录下的文件,还可以匹配多个目录下的文件。例如:
```python
import glob
# 查找当前目录和子目录下所有的txt文件
txt_files = glob.glob('**/*.txt',recursive=True)
print(txt_files)
```
这里的**表示匹配任意多级目录,recursive=True表示递归查找。
```python
import glob
import os
txt_files = glob.glob('*.txt')
txt_file_names = [os.path.basename(file) for file in txt_files]
print(txt_file_names)
```
3. 匹配多个模式
有时候,我们需要同时匹配多个模式,可以使用[]和{}来实现。例如:
```python
import glob
# 匹配以a、b、c开头的txt和md文件
files = glob.glob('[abc]*.{txt,md}')
print(files)
```
4. 排除某些文件
有时候,我们需要排除某些文件,可以使用!来实现。例如:
```python
import glob
txt_files = glob.glob('*.txt')
filtered_files = [file for file in txt_files if not file.startswith('a')]
print(filtered_files)
```
三、总结
glob模块是Python中非常常用的一个模块,它可以帮助我们在文件系统中查找符合特定模式的文件、文件夹等。基本使用方法非常简单,只需要传入要匹配的模式,就可以返回匹配的结果。同时,glob模块还有许多高级用法,例如匹配多个目录、返回文件名和文件路径、匹配多个模式、排除某些文件等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。