os walk的用法以及举一个简单的例子
时间: 2023-08-07 09:05:27 浏览: 61
`os.walk()`是一个用于遍历目录树的函数,可以递归地获取指定目录下的所有文件夹、子文件夹和文件。
以下是`os.walk()`函数的用法:
```python
import os
for root, dirs, files in os.walk(top, topdown=True):
# root:当前正在遍历的目录路径
# dirs:当前目录下的子文件夹列表
# files:当前目录下的文件列表
# 在这里执行你的操作
```
`os.walk()`函数接受一个参数`top`,表示要遍历的顶层目录。它会返回一个迭代器,该迭代器在每次迭代时返回一个三元组`(root, dirs, files)`,其中:
- `root` 是当前正在遍历的目录路径。
- `dirs` 是当前目录下的子文件夹列表。
- `files` 是当前目录下的文件列表。
在每次迭代时,你可以在循环体中对这些返回值进行处理,根据需要执行你的操作。
下面是一个简单的例子,展示了如何使用`os.walk()`遍历目录树并打印出所有文件的路径:
```python
import os
def print_files(root, files):
for file in files:
file_path = os.path.join(root, file)
print(file_path)
top_dir = "path/to/directory" # 要遍历的顶层目录
for root, dirs, files in os.walk(top_dir, topdown=True):
print_files(root, files)
```
在上面的例子中,定义了一个辅助函数`print_files()`,它接受当前目录路径和文件列表作为参数,然后使用`os.path.join()`将当前目录路径和每个文件名拼接起来,最后打印出文件的完整路径。在`os.walk()`的循环体中,调用了`print_files()`函数来处理每个目录。