当你调用 os.walk(folder_path)
函数时,它会遍历指定的文件夹 folder_path
及其所有子文件夹中的文件和文件夹。
递归遍历的逻辑如下:
- 首先,函数从指定的
folder_path
文件夹开始遍历。 - 对于当前遍历的文件夹,它会返回一个三元组
(root, dirs, files)
:-
root
:当前正在遍历的文件夹路径(字符串)。 -
dirs
:一个列表,包含当前文件夹中的子文件夹的名称(字符串列表)。 -
files
:一个列表,包含当前文件夹中的文件的名称(字符串列表)。
-
- 接下来,对于每个子文件夹,函数将递归地调用
os.walk()
函数,继续遍历子文件夹中的文件和文件夹。这样就形成了一个递归的遍历过程,直到遍历完所有的子文件夹。 - 在遍历过程中,每次迭代都会返回一个新的三元组,表示下一个文件夹的信息,直到遍历完成。
你可以使用 for
循环来迭代这个生成器,如下所示:文章来源:https://www.toymoban.com/news/detail-468792.html
import os
# 级联便利文件夹
def traverse_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
print("Folder:", root)
print("Subfolders:", dirs)
print("Files:", files)
print()
if __name__ == '__main__':
# 指定要遍历的文件夹路径
folder_path = '/path/to/folder'
# 调用函数遍历文件夹
traverse_folder(folder_path)
案例:遍历指定文件夹及其子文件夹中的所有图片文件,并记录它们的地址信息文章来源地址https://www.toymoban.com/news/detail-468792.html
import os
#遍历文件夹下的所有图片文件,并记录图片地址信息
def find_images(folder_path, extensions=['.jpg', '.jpeg', '.png', '.gif']):
image_files = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if any(file.lower().endswith(ext) for ext in extensions):
image_path = os.path.join(root, file)
image_files.append(image_path)
return image_files
if __name__ == '__main__':
# 指定要遍历的文件夹路径
folder_path = '/path/to/folder'
# 调用函数查找图片文件
image_files = find_images(folder_path)
# 打印图片地址信息
for image_path in image_files:
print(image_path)
到了这里,关于Python遍历对文件夹进行级联遍历os.walk()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!