Python作为一门高级编程语言,拥有众多的内置模块来方便我们进行编程 。其中,glob模块就是一个非常常用的模块 。它可以帮助我们在文件系统中查找符合特定模式的文件、文件夹等 。
一、glob模块的基本使用方法
文章插图
glob模块主要有两个函数:glob和iglob 。他们的区别在于glob返回一个列表,包含所有匹配的文件路径,而iglob返回的是一个生成器,用于迭代查找到的所有文件路径 。
glob的基本用法非常简单,只需要传入要匹配的模式,就可以返回匹配的结果:
```python
import glob
# 查找所有的txt文件
txt_files = glob.glob('*.txt')
print(txt_files)
```
上面的代码会返回所有当前目录下的txt文件路径列表 。
还可以使用通配符来匹配多个文件,例如:
```python
【python里glob模块怎么用?】import glob
# 查找所有的文件名以a开头的txt文件
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表示递归查找 。
2. 返回文件名和文件路径
除了返回文件路径,还可以返回文件名,例如:
```python
import glob
import os
# 查找当前目录下所有txt文件的文件名
txt_files = glob.glob('*.txt')
txt_file_names = [os.path.basename(file) for file in txt_files]
print(txt_file_names)
```
这里使用了os模块的basename函数来获取文件名 。
3. 匹配多个模式
有时候,我们需要同时匹配多个模式,可以使用[]和{}来实现 。例如:
```python
import glob
# 匹配以a、b、c开头的txt和md文件
files = glob.glob('[abc]*.{txt,md}')
print(files)
```
4. 排除某些文件
有时候,我们需要排除某些文件,可以使用!来实现 。例如:
```python
import glob
# 匹配当前目录下所有txt文件,但排除以a开头的文件
txt_files = glob.glob('*.txt')
filtered_files = [file for file in txt_files if not file.startswith('a')]
print(filtered_files)
```
三、总结
glob模块是Python中非常常用的一个模块,它可以帮助我们在文件系统中查找符合特定模式的文件、文件夹等 。基本使用方法非常简单,只需要传入要匹配的模式,就可以返回匹配的结果 。同时,glob模块还有许多高级用法,例如匹配多个目录、返回文件名和文件路径、匹配多个模式、排除某些文件等 。
推荐阅读
- 一夜新娘里云鹤大侠是谁
- 剪映里的音效能剪吗怎么弄?
- 儿童怎么学python
- python双引号和单引号
- python调用cmd
- python3读取csv文件
- 一夜新娘里的云鹤大侠是谁
- 这一生关于你的风景是哪一个电视剧里的歌
- 心里特别难受怎么办
- 龙年电影完整版在哪里看