2) 使用递归方法实现,向终端输出指定目录下所有子目录的文件名
时间: 2024-03-10 07:50:52 浏览: 96
使用递归算法在指定目录下查找文件
3星 · 编辑精心推荐
好的,我可以帮您实现这个功能。以下是递归实现的代码示例:
```python
import os
def print_files(dir_path):
"""
递归输出指定目录下所有子目录的文件名
"""
for file_name in os.listdir(dir_path):
file_path = os.path.join(dir_path, file_name)
if os.path.isdir(file_path):
print_files(file_path)
else:
print(file_path)
# 调用函数,传入指定目录路径
print_files('/path/to/your/directory')
```
在这个示例中,我们使用 `os.listdir()` 函数列出指定目录下的所有文件和子目录,然后使用 `os.path.join()` 函数生成子目录的绝对路径,判断是否为子目录,如果是则递归调用 `print_files()` 函数,否则直接输出文件路径。最后,我们调用 `print_files()` 函数,传入指定目录的路径即可。
需要注意的是,如果您使用的是 Windows 系统,`os.listdir()` 函数返回的文件名可能包含中文,可能会出现编码问题。如果出现这种情况,可以尝试使用 `os.scandir()` 函数代替 `os.listdir()` 函数,或者通过设置系统环境变量来解决编码问题。
阅读全文