python 中 os.walk() 函数详解

 更新时间:2022年10月11日 16:11:26   作者:爱学习的大白菜  
os.walk()是一种遍历目录数的函数,它以一种深度优先的策略(depth-first)访问指定的目录。这篇文章主要介绍了python 中 os.walk() 函数,需要的朋友可以参考下

os.walk()是一种遍历目录数的函数,它以一种深度优先的策略(depth-first)访问指定的目录。

其返回的是(root,dirs, files),

  • root代表当前遍历的目录路径,string类型
  • dirs代表root路径下的所有子目录名称,list类型,列表中的每个元素是string类型,代表子目录名称。
  • files代表root路径下的所有子文件名称,返回list类型,列表中的每个元素是string类型,代表子文件名称。

加入我当前的目录如下。

在这里插入图片描述

可以先打印一下其是怎么遍历的:

import os
from os.path import join

home_path = "/home"
for (root, dirs, files) in os.walk(home_path):
    print(root)
    print(dirs)
    print(files)
    print("=" * 50)

输出如下:

/home
['root', 'zhang', 'li']
['test.txt', 'hai.mp4']
==================================================
/home/root
[]
['1.txt', '2.txt', '3.txt']
==================================================
/hoome/zhang
[]
['zhang_1.mp4', 'zhang_2.mp4', 'zhang_3.mp4']
==================================================
/home/li
[]
[]
==================================================

一共三行,
第1行代表当前遍历的目录,我们称为root目录,
第2行代表root目录下的子目录列表,我们称为dirs,
第3行代表root目录下的子文件列表,我们称为files,
上面的列表为空就代表当前遍历的root目录下没有子目录或者没有子文件。

另外,如果我想遍历home目录下所有的目录和文件的绝对路径,则直接用os.path.join()方法对 子目录或子文件名root目录 进行拼接即可,则代码如下:

import os
from os.path import join

home_path = "/home"
for (root, dirs, files) in os.walk(home_path):
    for dir in dirs:
        print(join(root, dir))
    for file in files:
        print(join(root, file))

输出:

/home
/home/root
/home/zhang
/home/li
/home/test.txt
/home/hai.mp4
/home/root/1.txt
/home/root/2.txt
/home/root/3.txt
/home/zhang/zhang_1.mp4
/home/zhang/zhang_2.mp4
/home/zhang/zhang_3.mp4

到此这篇关于python 中 os.walk() 函数的文章就介绍到这了,更多相关python os.walk() 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python Django 添加首页尾页上一页下一页代码实例

    Python Django 添加首页尾页上一页下一页代码实例

    这篇文章主要介绍了Python Django 添加首页尾页上一页下一页代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python网络编程之TCP套接字简单用法示例

    Python网络编程之TCP套接字简单用法示例

    这篇文章主要介绍了Python网络编程之TCP套接字简单用法,结合实例形式分析了TCP套接字的功能及客户端、服务器端具体实现方法,需要的朋友可以参考下
    2018-04-04
  • Python编程之黑板上排列组合,你舍得解开吗

    Python编程之黑板上排列组合,你舍得解开吗

    这篇文章主要介绍了Python排列组合算法的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Python爬取某平台短视频的方法

    Python爬取某平台短视频的方法

    这篇文章主要介绍了Python爬取某平台短视频的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • LRUCache的实现原理及利用python实现的方法

    LRUCache的实现原理及利用python实现的方法

    LruCache 是 Android 的一个内部类,提供了基于内存实现的缓存,而下面这篇文章主要给大家介绍了关于LRUCache的实现原理以及利用python实现的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • Python打包之pyproject.toml全方位使用指南

    Python打包之pyproject.toml全方位使用指南

    pyproject.toml 是一个配置文件,用于定义 Python 项目的构建、依赖管理和项目元数据,下面这篇文章主要介绍了Python打包之pyproject.toml的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-11-11
  • 使用Python删除Excel中的指定行列

    使用Python删除Excel中的指定行列

    在日常数据处理中,我们经常需要对 Excel 文件进行编辑,其中删除不必要的行和列是常见操作,下面我们就来看看如何使用Python实现这一需求吧
    2025-09-09
  • [机器视觉]使用python自动识别验证码详解

    [机器视觉]使用python自动识别验证码详解

    这篇文章主要介绍了python自动识别验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python多层装饰器用法实例分析

    Python多层装饰器用法实例分析

    这篇文章主要介绍了Python多层装饰器用法,结合实例形式简单分析了Python多层装饰器的相关使用方法与注意事项,需要的朋友可以参考下
    2018-02-02
  • keras获得某一层或者某层权重的输出实例

    keras获得某一层或者某层权重的输出实例

    今天小编就为大家分享一篇keras获得某一层或者某层权重的输出实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论