遍历目录

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

遍历在汉语中的意思是全部走遍,到处周游。在Python中,遍历是将指定的目录下的全部目录(包括子目录)及文件访问一遍。在Python中,os模块的walk()函数用于实现遍历目录的功能。walk()函数的基本语法格式如下:

os.walk(top[, topdown][, onerror][, followlinks])

参数说明:

l  top:用于指定要遍历内容的根目录。

l  topdown:可选参数,用于指定遍历的顺序,如果值为True,表示自上而下遍历(即先遍历根目录);如果值为False,表示自下而上遍历(即先遍历最后一级子目录)。默认值为True。

l  onerror:可选参数,用于指定错误处理方式,默认为忽略,如果不想忽略也可以指定一个错误处理函数。通常情况下采用默认设置。

l  followlinks:可选参数,默认情况下,walk()函数不会向下转换成解析到目录的符号链接,将该参数值设置为True,表示用于指定在支持的系统上访问由符号链接指向的目录。

l  返回值:返回一个包括3个元素(dirpath, dirnames, filenames)的元组生成器对象。其中,dirpath表示当前遍历的路径,是一个字符串;dirnames表示当前路径下包含的子目录,是一个列表;filenames表示当前路径下包含的文件,也是一个列表。

例如,要遍历指定目录“F:\program\Python\Code\01”,可以使用下面的代码:

import os                                # 导入os模块

tuples = os.walk("F:\\program\\Python\\Code\\01")    # 遍历"F:\program\Python\Code\01"目录

for tuple1 in tuples:                   # 通过for循环输出遍历结果

    print(tuple1 ,"\n")                  # 输出每一级目录的元组

如果在“F:\program\Python\Code\01”目录下包括如图23所示的内容,执行上面的代码,将显示如图24所示的结果。

图23  要遍历的目录

图24  遍历指定目录的结果

注意:walk()函数只在Unix系统和Windows系统中有效。

图24得到的结果比较混乱,下面通过一个具体的实例演示实现遍历目录时,输出目录或文件的完整路径。

图标 (35)

  实例05  遍历指定目录

在IDLE中创建一个名称为walk_list.py的文件,首先在该文件中导入os模块,并定义要遍历的根目录,然后应用for循环遍历该目录,最后循环输出遍历到文件和子目录,代码如下:

import os                                      # 导入os模块

path = "C:\\demo"                               # 指定要遍历的根目录

print("【",path,"】 目录下包括的文件和目录:")

for root, dirs, files in os.walk(path, topdown=True):    # 遍历指定目录

    for name in dirs:                         # 循环输出遍历到的子目录

        print("●",os.path.join(root, name))

    for name in files:                        # 循环输出遍历到的文件

        print("◎",os.path.join(root, name))

执行上面的代码,可能显示如图25所示的结果。

图25  遍历指定目录

说明:读者得到的结果可能会与此不同,具体显示内容将根据具体的目录结构而定。

相关推荐

  1. rust递归磁盘目录及文件

    2024-06-09 02:26:03       34 阅读
  2. 金蝶Apusic应用服务器 未授权目录漏洞复现

    2024-06-09 02:26:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 02:26:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 02:26:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 02:26:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 02:26:03       18 阅读

热门阅读

  1. 前端如何封装自己的npm包并且发布到npm注册源

    2024-06-09 02:26:03       9 阅读
  2. Bean的作用域

    2024-06-09 02:26:03       9 阅读
  3. 对硬盘的设想2:纸存,硬指针,软指针

    2024-06-09 02:26:03       9 阅读
  4. Linux内核链表源代码

    2024-06-09 02:26:03       6 阅读
  5. IP路由基础&ospf

    2024-06-09 02:26:03       11 阅读
  6. 微信小程序的tabbar怎么配置

    2024-06-09 02:26:03       9 阅读
  7. zeppelin(kylin的可视化界面安装)(从头到尾安装)

    2024-06-09 02:26:03       11 阅读
  8. Hash & String 学习笔记

    2024-06-09 02:26:03       9 阅读