欢迎访问宙启技术站
智能推送

使用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()函数根据不同的模式查找文件。在实际应用中,可以根据具体的需求和文件命名规则来设置匹配模式,从而方便地对符合条件的文件进行处理。