python查找目录下多个后缀文件,需要排除掉一些目录。
时间: 2024-05-02 14:17:41 浏览: 20
可以使用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查找目录下文件,需要排除掉一些目录。找到多个文件后缀
为.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`模块来获取文件目录下特定后缀的文件。
首先,导入`os`模块:
```
import os
```
然后,使用`os.listdir()`函数来获取文件目录下的所有文件和文件夹:
```
files = os.listdir('文件目录路径')
```
接下来,可以循环遍历`files`列表,使用`os.path.splitext()`函数来获取文件的后缀名和文件名:
```
for file in files:
name, extension = os.path.splitext(file)
if extension == '.后缀名':
# 进行相应的操作,比如打印文件名
print(file)
```
在上面的代码中,`name`变量存储了文件名,`extension`变量存储了文件的后缀名。我们可以通过判断`extension`是否为我们想要的后缀名来筛选出目标文件。
注意,`os.listdir()`函数返回的是包含文件和文件夹的列表,如果只想获取文件,可以使用`os.path.isfile()`函数来判断:
```
if os.path.isfile(file):
# 进行相应的操作
```
以上就是使用Python获取文件目录下固定后缀的方法。根据实际情况,你可以将代码进行相应的修改和调整。