python查找目录下文件,需要排除掉一些目录。找到多个文件后缀
时间: 2024-05-05 20:17:42 浏览: 13
为.py的文件。
可以使用os模块和fnmatch模块来实现此功能。
代码示例:
```python
import os
import fnmatch
# 需要排除的目录列表
exclude_dirs = ['dir1', 'dir2']
# 查找的文件后缀
file_extension = '.py'
# 查找目录
search_dir = '/path/to/search/dir'
# 遍历目录及其子目录
for root, dirs, files in os.walk(search_dir):
# 排除需要排除的目录
dirs[:] = [d for d in dirs if d not in exclude_dirs]
# 查找符合条件的文件
for filename in fnmatch.filter(files, f'*{file_extension}'):
# 打印文件路径
print(os.path.join(root, filename))
```
在以上代码中,首先定义了需要排除的目录列表和要查找的文件后缀。然后使用os.walk()函数遍历目录及其子目录,在遍历过程中排除需要排除的目录,并使用fnmatch.filter()函数查找符合条件的文件,最后打印文件路径。
相关问题
python查找目录下多个后缀文件,需要排除掉一些目录。
可以使用Python的os模块和glob模块来实现查找目录下多个后缀文件,并且可以通过排除目录来实现筛选。
示例代码如下:
```python
import os
import glob
# 定义需要查找的后缀名
file_types = ('*.txt', '*.pdf', '*.docx')
# 定义需要排除的目录
excluded_dirs = ['dir1', 'dir2']
# 遍历目录及其子目录下的文件
for root, dirs, files in os.walk('.'):
# 排除需要排除的目录
dirs[:] = [d for d in dirs if d not in excluded_dirs]
# 查找匹配的文件
for file_type in file_types:
for file in glob.glob(os.path.join(root, file_type)):
print(file)
```
在以上代码中,先定义了需要查找的后缀名和需要排除的目录。然后使用os模块中的walk函数遍历目录及其子目录下的文件,并通过dirs参数排除需要排除的目录。接着使用glob模块中的glob函数查找匹配的文件,并输出文件路径。
python找到指定目录下指定的后缀名文件
可以使用os模块和glob模块来实现:
```python
import os
import glob
# 指定目录和后缀名
dir_path = 'path/to/directory'
ext = '*.txt'
# 使用glob模块查找指定后缀名的文件
files = glob.glob(os.path.join(dir_path, ext))
# 打印文件列表
for file in files:
print(file)
```
在上面的代码中,使用os.path.join()函数将目录路径和后缀名连接起来,然后使用glob.glob()函数查找符合条件的文件列表。最后,通过for循环遍历文件列表并打印每个文件的路径。