递归地遍历指定目录下的所有子目录,并返回每个子目录中的所有文件和目录名
时间: 2024-03-20 21:43:56 浏览: 79
好的,我可以帮你实现这个功能。以下是一个 Python 的示例代码:
```python
import os
def traverse_directory(path):
"""
递归遍历指定目录下的所有子目录,并返回每个子目录中的所有文件和目录名
:param path: 待遍历的目录路径
:return: 一个字典,包含所有子目录中的文件和目录名
"""
result = {'files': [], 'dirs': []}
for root, dirs, files in os.walk(path):
for file in files:
result['files'].append(os.path.join(root, file))
for dir in dirs:
result['dirs'].append(os.path.join(root, dir))
sub_result = traverse_directory(os.path.join(root, dir))
result['files'].extend(sub_result['files'])
result['dirs'].extend(sub_result['dirs'])
return result
```
你可以调用 `traverse_directory` 函数来遍历指定目录下的所有子目录,并获取它们的文件和目录名。例如,你可以这样调用它:
```python
result = traverse_directory('/path/to/directory')
print(result)
```
这个函数会返回一个字典,其中包含所有子目录中的文件和目录名。字典的结构如下:
```
{
'files': [file1, file2, ...],
'dirs': [dir1, dir2, ...],
...
}
```
其中 `'files'` 键对应的值是一个列表,包含所有文件的路径。`'dirs'` 键对应的值是一个列表,包含所有子目录的路径。
阅读全文