import os
def traverse_dir(path):
# 获取该目录下的所有文件和目录名
for file_or_dir_name in os.listdir(path):
# 拼接成绝对路径
abs_path = os.path.join(path, file_or_dir_name)
# 如果是目录,则递归遍历
if os.path.isdir(abs_path):
traverse_dir(abs_path)
else:
# 如果是文件,则打印文件名
print(file_or_dir_name)
# 调用函数,传入要遍历的目录路径
traverse_dir('/path/to/dir')
import os
def traverse_dir(path):
for entry in os.scandir(path):
if entry.is_file():
# 如果是文件,则打印文件名
print(entry.name)
elif entry.is_dir():
# 如果是目录,则递归遍历
traverse_dir(entry.path)
# 调用函数,传入要遍历的目录路径
traverse_dir('/path/to/dir')
import os
def get_all_files(path):
# 用于保存所有文件路径的列表
files_list = []
# 遍历该目录下的所有文件和目录
for entry in os.scandir(path):
if entry.is_file():
# 如果是文件,则将文件路径添加到列表中
files_list.append(entry.path)
elif entry.is_dir():
# 如果是目录,则递归调用该函数,并将返回结果添加到列表中
files_list.extend(get_all_files(entry.path))
# 返回所有文件路径的列表
return files_list
import os
def iter_files(path):
# 遍历该目录下的所有文件和目录
for entry in os.scandir(path):
if entry.is_file():
# 如果是文件,则使用生成器函数yield返回文件路径
yield entry.path
elif entry.is_dir():
# 如果是目录,则递归调用该生成器函数,并使用yield from关键字返回迭代器
yield from iter_files(entry.path)
这篇文章介绍了使用Python的os模块遍历目录的四种方法,包括使用listdir、scandir函数,以及如何处理文件和目录,通过递归实现深度遍历。示例代码详细展示了如何获取文件路径、打印文件名以及使用生成器函数。

1799

被折叠的 条评论
为什么被折叠?



