59、使⽤Python代码实现遍历⼀个⽂件夹的操作。
时间: 2025-07-30 21:12:02 浏览: 10
<think>我们使用os.walk()函数来遍历文件夹及其子文件夹中的所有文件。os.walk()会生成每个文件夹中的文件列表和子文件夹列表。
步骤:
1. 导入os模块。
2. 使用os.walk()函数,传入要遍历的文件夹路径。
3. 遍历os.walk()返回的结果,它会返回一个三元组(root, dirs, files):
- root:当前正在遍历的文件夹的路径。
- dirs:当前文件夹下的子文件夹列表(不包括子文件夹的子文件夹,因为os.walk会递归进入)。
- files:当前文件夹中的文件列表。
4. 对于每个文件,我们可以使用os.path.join(root, file)来获取文件的完整路径。
下面是一个简单的代码示例,它打印出每个文件的完整路径:</think>### Python遍历文件夹中的文件和子文件夹实现
在Python中,遍历文件夹及其子文件夹可以通过`os`模块实现,主要有两种常用方法:
#### 方法1:使用`os.walk()`(推荐)
```python
import os
def traverse_folder(path):
"""遍历文件夹及子文件夹中的所有文件"""
for root, dirs, files in os.walk(path):
# root: 当前目录路径
# dirs: 当前目录下的子目录列表
# files: 当前目录下的文件列表
print(f"\n当前目录: {root}")
print(f"子目录: {dirs}")
for file in files:
file_path = os.path.join(root, file) # 获取完整文件路径
print(f"文件: {file_path}")
# 使用示例
traverse_folder("./your_folder")
```
#### 方法2:递归使用`os.listdir()`
```python
import os
def traverse_recursive(path):
"""递归遍历文件夹及子文件夹"""
for item in os.listdir(path):
item_path = os.path.join(path, item)
if os.path.isdir(item_path):
print(f"进入子目录: {item_path}")
traverse_recursive(item_path) # 递归调用
else:
print(f"文件: {item_path}")
# 使用示例
traverse_recursive("./your_folder")
```
### 关键函数说明:
1. **`os.walk(top)`**:
- 生成目录树中的文件名
- 返回三元组 `(root, dirs, files)`
- 自动递归所有子目录[^1][^3]
2. **`os.listdir(path)`**:
- 返回指定路径下的文件和目录列表
- 需要手动判断文件类型并递归子目录[^1]
3. **`os.path.join()`**:
- 智能拼接路径,处理不同操作系统的路径分隔符差异[^3][^4]
4. **`os.path.isdir()`**:
- 判断路径是否为目录
### 注意事项:
- 使用`os.walk()`更高效简洁,推荐优先使用[^2][^3]
- 处理大型目录时,可添加文件过滤条件:
```python
# 只处理.txt文件
if file.endswith(".txt"):
process_file(file_path)
```
- 路径建议使用原始字符串:`r"C:\your\folder"`
### 应用场景:
1. 批量重命名文件
2. 统计文件夹大小[^4]
3. 文件格式转换
4. 自动化备份
5. 日志文件分析
阅读全文
相关推荐




















