Python遍历对文件夹进行级联遍历os.walk()

这篇具有很好参考价值的文章主要介绍了Python遍历对文件夹进行级联遍历os.walk()。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

当你调用 os.walk(folder_path) 函数时,它会遍历指定的文件夹 folder_path 及其所有子文件夹中的文件和文件夹。

递归遍历的逻辑如下:

  1. 首先,函数从指定的 folder_path 文件夹开始遍历。
  2. 对于当前遍历的文件夹,它会返回一个三元组 (root, dirs, files)
    • root:当前正在遍历的文件夹路径(字符串)。
    • dirs:一个列表,包含当前文件夹中的子文件夹的名称(字符串列表)。
    • files:一个列表,包含当前文件夹中的文件的名称(字符串列表)。
  3. 接下来,对于每个子文件夹,函数将递归地调用 os.walk() 函数,继续遍历子文件夹中的文件和文件夹。这样就形成了一个递归的遍历过程,直到遍历完所有的子文件夹。
  4. 在遍历过程中,每次迭代都会返回一个新的三元组,表示下一个文件夹的信息,直到遍历完成。

你可以使用 for 循环来迭代这个生成器,如下所示:


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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包