📜  在文件夹中查找文件类型 (1)

📅  最后修改于: 2023-12-03 14:51:28.096000             🧑  作者: Mango

在文件夹中查找文件类型

如果你需要在一个文件夹中查找某个特定类型的文件,你可以使用Python的os和fnmatch模块来完成这个任务。

实现步骤
  1. 导入os和fnmatch模块。
import os
import fnmatch
  1. 定义函数,该函数使用os.walk遍历指定文件夹下的所有文件,并使用fnmatch.fnmatch匹配需要查找的文件类型。
def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)
                yield filename
  1. 调用函数,并输出查找到的文件路径。
for filename in find_files('/path/to/folder', '*.txt'):
    print(filename)
代码示例
import os
import fnmatch

def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)
                yield filename

print("以下是所有查找到的txt文件:")
for filename in find_files('/path/to/folder', '*.txt'):
    print(filename)

返回的markdown格式代码片段如下:

## 实现步骤

1. 导入os和fnmatch模块。

```python
import os
import fnmatch
  1. 定义函数,该函数使用os.walk遍历指定文件夹下的所有文件,并使用fnmatch.fnmatch匹配需要查找的文件类型。
def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)
                yield filename
  1. 调用函数,并输出查找到的文件路径。
for filename in find_files('/path/to/folder', '*.txt'):
    print(filename)
代码示例
import os
import fnmatch

def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)
                yield filename

print("以下是所有查找到的txt文件:")
for filename in find_files('/path/to/folder', '*.txt'):
    print(filename)