如何在os.walk遍历时记录目录层级
时间: 2024-02-20 19:57:14 浏览: 75
Python使用os.listdir和os.walk获取文件路径
可以通过记录当前目录的深度来实现,在遍历过程中,可以使用计数器记录当前目录的深度,然后将其作为参数传递给递归调用的os.walk()函数。以下是一个示例代码:
```python
import os
def walk_with_level(root_path, level=0):
for root, dirs, files in os.walk(root_path):
print(' ' * 4 * level + f'[{os.path.basename(root)}]')
for file in files:
print(' ' * 4 * (level + 1) + file)
for dir in dirs:
walk_with_level(os.path.join(root, dir), level + 1)
# Example Usage
walk_with_level('C:/Users/username/Documents')
```
在这个示例代码中,我们定义了一个名为`walk_with_level()`的函数,它接受两个参数:`root_path`表示要遍历的根目录路径,`level`表示当前目录的深度(默认为0)。在函数内部,我们使用os.walk()递归遍历了指定的目录,并打印出了当前目录及其下的文件和子目录,其中根据深度进行了缩进。在递归调用os.walk()时,我们将当前目录的深度加1作为参数传递给了递归函数。
阅读全文