当前位置: 首页 > article >正文

os.walk()遍历文件夹/文件

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. 代码内容
  • 2. 具体分析过程
    • 2.1 文件(夹)创建
    • 2.2 运行输出
    • 2.3 分析对比


1. 代码内容

import os

#所需访问的文件夹
filePath = "F:\PythonTest"
# 遍历的逻辑:每次遍历从最外层文件夹遍历文件夹和文件,遇到文件夹就会继续进入文件夹遍历
#只有把文件夹所有子文件夹遍历完,才会进入下一个文件夹遍历
def fileSys():
    #遍历filePath路径对应文件夹
    for root, dirs, files in os.walk(filePath):
        print('-----start-----')
        #root为所遍历的根目录,即第一次遍历的root是PathonTest文件夹的全路径,并依次向里递进,下一次root就是内部的文件夹
        print("root",root)
        #所遍历文件夹中的所有文件夹
        print("dirs",dirs)
        #所遍历文件夹中的所有文件
        print("files",files)
        # 遍历所有文件夹,会把所有文件夹打印
        # for d in dirs:
            #打印拼接后的文件夹全路径
            # print("d::::",os.path.join(root,d))
            #打印文件夹名称
            # print("dirs:------>",d)
        # 遍历所有文件
        # for f in files:
            #打印拼接后的文件全路径
            # print("f::::",os.path.join(root,f))
            # 打印文件名
            # print("files:------>",f)

fileSys()
# if __name__ == "__main__":
    # fileSys()

2. 具体分析过程

2.1 文件(夹)创建

创建文件夹和文件内容
我在本机的F:\PythonTest文件夹下创建文件夹和文件
PythonTest文件夹下有文件夹d1、d2、d3,有文件f1.txt、f2.txt、f3.txt、f4.txt
在这里插入图片描述
d1文件夹中的内容有文件夹d1d1,文件d1f1.txt、d1f2.txt
d1d1文件夹内容为空文件夹

d2文件夹中的内容没有文件夹,有文件d2f1.txt

d3文件夹中的内容有文件夹d3d1,没有文件
d3d1文件夹为空文件夹

如下图
在这里插入图片描述

2.2 运行输出

在这里插入图片描述

2.3 分析对比

第一次遍历的是所给的文件夹目录
第二次遍历是第一次遍历所得的所有目录中的第一个目录
第三次遍历是第二次遍历所得的第一个目录中的第一个子目录
只有在子目录遍历完,才会跳出来遍历上一级目录的下一个目录
在这里插入图片描述


感谢阅读,祝君暴富!


http://www.kler.cn/a/162879.html

相关文章:

  • SQL,力扣题目1127, 用户购买平台
  • SHELL脚本(Linux)
  • ssm100医学生在线学习交流平台+vue(论文+源码)_kaic
  • 【STM32F1】——无线收发模块RF200与串口通信
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何查看PDS系统的自阻抗操作指导
  • 计算机毕业设计Python+Neo4j知识图谱医疗问答系统 大模型 机器学习 深度学习 人工智能 大数据毕业设计 Python爬虫 Python毕业设计
  • 内蒙古自治区搭建平台、资源对接,促进民营经济发展壮大
  • 嵌入版python作为便携计算器(安装及配置ipython)
  • python 使用 AppiumService 类启动appium server
  • Android Camera2使用
  • 【Linux】more命令使用
  • MySQL:1118 - Row size too large(行大小不能超过 65535 问题)
  • docker安装node及使用
  • 消息队列的基本概念以及作用
  • 06、pytest将多个测试放在一个类中
  • 用23种设计模式打造一个cocos creator的游戏框架----(三)外观模式模式
  • 2024黑龙江省职业院校技能大赛信息安全管理与评估赛项规程
  • Pipenv环境配置+Pytest运行
  • Vue JAVA开发常用模板
  • spring 的概述和入门
  • Vue脚手架 生命周期 组件化开发
  • 【Pyqt】QObject::connect: Cannot queue arguments of type ‘QTextCursor‘
  • Windows故障排除 – 连接WiFi却无法上网
  • vue router之route和router的区别
  • 模电笔记。。。。
  • 智慧能源:数字孪生压缩空气储能管控平台