使用glob()函数在Python中查找包含特定子字符串的文件
发布时间:2023-12-28 11:08:09
在Python中,可以使用glob()函数来查找包含特定子字符串的文件。glob()函数可以接受一个包含通配符的模式作为参数,并返回符合模式的文件列表。
模式匹配通配符说明:
- *:匹配任意字符,包括文件名的任意长度的字符序列。
- ?:匹配任意一个字符。
- [seq]:匹配seq中的任意一个字符。
- [!seq]:匹配除seq中的字符以外的任意字符。
下面是一个使用示例,假设目录中有以下文件:file1.txt, file2.txt, example1.py, example2.py。
import glob # 查找以.txt结尾的文件 txt_files = glob.glob("*.txt") print(txt_files) # 输出: ['file1.txt', 'file2.txt'] # 查找以file开头的文件 start_with_file = glob.glob("file*") print(start_with_file) # 输出: ['file1.txt', 'file2.txt'] # 查找以example开头且以.py结尾的文件 example_py_files = glob.glob("example*.py") print(example_py_files) # 输出: ['example1.py', 'example2.py'] # 查找文件名中包含数字1的文件 contains_1 = glob.glob("*1*") print(contains_1) # 输出: ['file1.txt', 'example1.py'] # 查找文件名以file开头且不以.py结尾的文件 start_with_file_no_py = glob.glob("file*[!.py]") print(start_with_file_no_py) # 输出: ['file1.txt', 'file2.txt'] # 查找所有文件 all_files = glob.glob("*") print(all_files) # 输出: ['file1.txt', 'file2.txt', 'example1.py', 'example2.py']
以上示例演示了如何使用glob()函数根据不同的模式查找文件。在实际应用中,可以根据具体的需求和文件命名规则来设置匹配模式,从而方便地对符合条件的文件进行处理。
