怎么用python在文件夹中挑出所有具有特定后缀的文件
时间: 2024-09-20 20:17:48 浏览: 49
在Python中,你可以使用`os`和`fnmatch`模块来查找指定目录下所有具有特定后缀的文件。下面是一个简单的例子,演示如何找出所有`.txt`文件:
```python
import os
def find_files_with_extension(directory, extension):
# 遍历指定目录及其所有子目录
for root, dirs, files in os.walk(directory):
# 使用fnmatch匹配文件名和指定后缀
matching_files = [f for f in files if fnmatch.fnmatch(f, '*.' + extension)]
# 返回找到的文件路径列表
yield from matching_files
# 调用函数,例如查找当前目录下的所有.txt文件
directory = './' # 替换为你想要搜索的目录
target_extension = 'txt'
files = list(find_files_with_extension(directory, target_extension))
for file in files:
print(os.path.join(root, file)) # 打印文件完整路径
相关问题
使用python实现下列要求,读取windows中的某个文件夹,遍历其下所有子文件夹,收集出所有文件后缀,并去重展示出来
可以使用Python标准库中的os和set来实现这个功能。下面是代码示例:
```python
import os
# 遍历文件夹,收集所有文件后缀
def collect_suffixes(folder_path):
suffixes = set()
for root, dirs, files in os.walk(folder_path):
for file in files:
_, ext = os.path.splitext(file)
suffixes.add(ext.lower())
return suffixes
# 示例用法
if __name__ == '__main__':
folder_path = r'C:\Users\username\Documents'
suffixes = collect_suffixes(folder_path)
print('所有文件后缀:', suffixes)
```
上述代码中,`collect_suffixes`函数会遍历指定文件夹下的所有子文件夹,并收集所有文件的后缀(以小写形式存储)。使用set类型可以自动去重。最后,我们可以打印出所有文件后缀。
python 当前文件夹文件
你可以使用 Python 的 `os` 模块来获取当前文件夹下的所有文件。具体操作如下:
```python
import os
# 获取当前文件夹路径
current_dir = os.getcwd()
# 获取当前文件夹下的所有文件
files = os.listdir(current_dir)
# 打印所有文件名
for file in files:
print(file)
```
这段代码会输出当前文件夹下所有文件的文件名。如果你想获取特定类型的文件,可以在 `os.listdir()` 函数中传递一个参数,指定文件的后缀名。例如,如果你只想获取当前文件夹下的所有 `.txt` 文件,可以这样做:
```python
files = [file for file in os.listdir(current_dir) if file.endswith('.txt')]
```
这段代码会返回一个列表,包含所有以 `.txt` 结尾的文件名。
阅读全文