python 遍历文件夹及子文件夹符合后缀名的代码
时间: 2023-09-12 08:08:52 浏览: 147
以下是一个示例代码,用于在Python中遍历文件夹及其子文件夹,并筛选出符合指定后缀名的文件:
```python
import os
def traverse_folder_with_extension(folder_path, extension):
# 遍历文件夹下的所有文件和子文件夹
for root, dirs, files in os.walk(folder_path):
for file in files:
# 检查文件后缀名是否符合要求
if file.endswith(extension):
# 打印文件路径
file_path = os.path.join(root, file)
print(file_path)
# 指定要遍历的文件夹路径
folder_path = '路径/到/文件夹'
# 指定要筛选的文件后缀名
extension = '.py'
# 调用函数进行遍历
traverse_folder_with_extension(folder_path, extension)
```
你只需要将`'路径/到/文件夹'`替换为你要遍历的文件夹路径,将`'.py'`替换为你要筛选的文件后缀名即可。该代码会输出符合指定后缀名的文件路径,包括子文件夹中的文件。你可以根据需要进行进一步的处理或操作。
相关问题
python 遍历文件夹内所有文件,修改文件后缀名DCM为dcm
在Python中,你可以使用os模块以及其下的os.walk函数来遍历文件夹内的所有文件,然后使用pathlib库来处理文件路径和后缀名。下面是一个简单的示例,展示了如何遍历指定目录并修改文件后缀名:
```python
import os
from pathlib import Path
# 定义要操作的源目录
source_dir = 'your_directory_path'
# 获取目录下所有的文件
for root, dirs, files in os.walk(source_dir):
for file in files:
# 检查文件是否是以DCM结尾
if file.endswith('.DCM'):
# 使用Path对象构建完整路径
file_path = Path(root) / file
# 修改后缀名
new_file_name = file_path.with_suffix('.dcm')
# 如果原文件存在,就移动或复制文件到新名字,注意这里只做示范,实际操作需要考虑备份和错误处理
if file_path.exists():
print(f"Renaming {file} to {new_file_name}")
# file_path.replace(new_file_name) 或者
# shutil.move(file_path, new_file_name)
```
在这个示例中,我们首先检查文件是否以'.DCM'结尾,如果是,则创建一个新的`Path`对象,改变后缀名,然后如果原始文件存在,我们会打印出将要重命名的操作,并进行相应的文件操作(这里是打印,你需要替换为实际的文件移动或复制操作)。
python遍历文件夹下文件glob
### Python 使用 `glob` 模块遍历文件夹下的所有文件
`glob` 是 Python 自带的一个用于匹配路径名模式的模块,可以用来查找符合特定条件的文件[^1]。通过组合不同的通配符(如 `*`, `?`),能够实现灵活的文件筛选。
以下是使用 `glob` 模块遍历文件夹下所有文件的示例代码:
```python
import glob
# 查找当前目录及其子目录中的所有 .txt 文件
file_list = glob.glob('**/*.txt', recursive=True)
for file_path in file_list:
print(file_path)
```
上述代码中,参数 `'**/*.txt'` 表示递归地查找当前目录及其所有子目录中扩展名为 `.txt` 的文件[^2]。如果希望查找其他类型的文件,只需修改通配符部分即可。例如,要查找所有的 PNG 图像文件,则可改为 `'**/*.png'`。
当需要统计不同文件后缀的数量时,可以通过如下方式完成:
```python
import os
from collections import defaultdict
def count_file_extensions(directory):
extension_count = defaultdict(int)
for root, dirs, files in os.walk(directory): # 遍历目录及其子目录
for file in files:
_, ext = os.path.splitext(file) # 获取文件扩展名
if ext: # 如果有扩展名则计数
extension_count[ext.lower()] += 1
return dict(extension_count)
directory_to_search = '.' # 当前目录作为示例
result = count_file_extensions(directory_to_search)
for ext, count in result.items():
print(f"{ext}: {count}")
```
此代码片段展示了如何结合 `os.walk()` 和字典结构来统计各种文件后缀的数量。虽然这里主要依赖于 `os` 模块而非纯 `glob` 实现,但它同样适用于复杂场景的需求。
---
阅读全文
相关推荐













