python遍历多级目录
时间: 2023-08-07 13:01:59 浏览: 185
在Python中,可以使用递归方法来遍历多级目录。递归是指函数调用自身的过程,通过递归,可以很方便地遍历多级目录中的所有文件和子目录。下面是一个示例代码,展示了如何使用递归来实现目录遍历:
```python
import os
def show_files(base_path, all_files=[]):
"""
遍历当前目录所有文件及文件夹
:param base_path:
:param all_files:
:return:
"""
file_list = os.listdir(base_path)
for file in file_list:
cur_path = os.path.join(base_path, file)
if os.path.isdir(cur_path):
show_files(cur_path, all_files)
else:
all_files.append(cur_path)
return all_files
# 调用示例
base_path = '/path/to/dir' # 设置要遍历的目录路径
files = show_files(base_path)
for file in files:
print(file)
```
这段代码中,`show_files`函数使用了递归方法遍历指定目录下的所有文件和子目录。通过`os.path.join()`函数可以拼接路径,通过`os.path.isdir()`函数可以判断是否是目录。在遍历过程中,将每个文件的路径存入`all_files`列表中并返回。
注意,递归方法需要谨慎使用,避免出现无限递归的情况。在编写递归函数时,需要确保有正确的终止条件,以避免进入无限循环。
阅读全文