Pythonglob模块的用法详解
发布时间:2023-12-15 13:10:35
Python的glob模块提供了一个用于查找文件路径的简单方法。它可以根据指定的规则匹配文件,并返回匹配的文件路径列表。
glob模块提供了以下几个常用的函数:
1. glob.glob(pathname, recursive=False)
- 参数pathname是用于匹配文件路径的字符串,可以包含通配符。
- 参数recursive是一个布尔值,表示是否递归地搜索子目录。默认值为False。
- 返回匹配的文件路径列表,如果没有匹配的文件,则返回一个空列表。
2. glob.escape(pathname)
- 参数pathname是用于转义的字符串。
- 返回转义后的字符串。
下面通过一些使用例子详细介绍glob模块的用法:
1. 查找当前目录下的所有txt文件:
import glob
txt_files = glob.glob('*.txt')
print(txt_files)
输出结果类似于:
['file1.txt', 'file2.txt', 'file3.txt']
2. 查找当前目录及其子目录下的所有py文件:
import glob
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)
输出结果类似于:
['subdir/file1.py', 'file2.py', 'file3.py']
3. 查找当前目录下的所有文件:
import glob
all_files = glob.glob('*')
print(all_files)
输出结果类似于:
['file1.txt', 'file2.txt', 'file3.txt', 'subdir']
4. 查找当前目录下的所有文件和子目录:
import glob
all_files_and_dirs = glob.glob('*') + glob.glob('*/')
print(all_files_and_dirs)
输出结果类似于:
['file1.txt', 'file2.txt', 'file3.txt', 'subdir/']
5. 使用通配符匹配文件名:
import glob
txt_files = glob.glob('file?.txt')
print(txt_files)
输出结果类似于:
['file1.txt', 'file2.txt']
6. 使用通配符匹配文件路径:
import glob
py_files = glob.glob('**/file*.py', recursive=True)
print(py_files)
输出结果类似于:
['subdir/file1.py', 'file2.py']
需要注意的是,通配符*匹配任意字符串,而?匹配单个字符。
综上所述,glob模块提供了一个方便的方式来查找文件路径。它支持文件名和文件路径的通配符匹配,并且可以递归地搜索子目录。你可以根据自己的需求来构建匹配规则,并使用glob模块进行文件路径的查找。
