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.mzph.cn/news/207504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P3 Qt 控件 —— pushButton

前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_ChenPi的博客-CSDN博客》✨✨✨ 🌺本篇简介 :这一章我们学一…

Python evalml 库:自动化机器学习的新前景

更多资料获取 📚 个人网站:ipengtao.com 在机器学习领域,evalml 库崭露头角,为开发者提供了一个强大而高效的自动化机器学习框架。本文将深入介绍 evalml 的核心功能、使用方法以及在实际项目中的应用。通过详实的示例代码&#…

前端高频面试题大全-面试必看

内容较多,建议查看目录,方便食用 高频 React和Vue的区别 通常解法:vue是采用指令结合vue-loader实现构件用户界面的渐进式框架,React是采用JSX构件用户界面的组件化开发 详细解法:在渲染界面的时候DOM操作是昂贵的&…

【Linux系统编程】项目自动化构建工具make/Makefile

介绍: make和Makefile是用于编译和构建C/C程序的工具和文件。Makefile是一个文本文件,其中包含了编译和构建程序所需的规则和指令。它告诉make工具如何根据源代码文件生成可执行文件,里面保存的是依赖关系和依赖方法。make是一个命令行工具&a…

智汇恒星科技|控乐屋.全宅智能冠军代言来啦, 智慧家居千亿蓝海

随着5G、大数据、云计算、物联网等技术的发展,智能化正覆盖人们生活的方方面面,全屋智能的出现为“一键式”智能家居生活享受提供无限可能。近年来智能家居行业总体规模增长迅速,数据显示,2022年中国智能家居行业市场规模约为6200…

Java期末复习题之封装

点击返回标题->23年Java期末复习-CSDN博客 第1题. 定义一个类Person,定义name和age私有属性,定义有参的构造方法对name和age进行初始化。在测试类中创建该类的2个对象,姓名、年龄分别为lili、19和lucy、20,在屏幕打印出2个对象的姓名和年龄…

2024年江苏省职业院校技能大赛信息安全管理与评估 理论题(样卷)

2024年江苏省职业院校技能大赛信息安全管理与评估 理论题(样卷) 理论技能与职业素养(100分) 2024年江苏省职业院校技能大赛(高职学生组) 模块三“信息安全管理与评估”理论技能 【注意事项】 Geek极安云…

软考高级信息系统项目管理师经验分享

考了三次终于考过了。 第一次,没准备,打酱油。 第二次,不舍得花钱,自己复习,结果教材改版了都不知道。 第三次,改机考了。 总结一下这三次的经验: 一、不是学霸型的一定要报班 报班的优点&…

实时动作识别学习笔记

目录 yowo v2 yowof 判断是在干什么,不能获取细节信息 yowo v2 https://github.com/yjh0410/YOWOv2/blob/master/README_CN.md ModelClipmAPFPSweightYOWOv2-Nano1612.640ckptYOWOv2-Tiny

QML中Dialog获取close与open状态

1.新建MyDialog.qml import QtQuick 2.15import QtQuick.Dialogs 1.2Dialog {id: rootvisible: falsetitle: qsTr("弹出对话框")width: 250height: 200} 2.main.qml中调用MyDialog import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15…

JS原生实现浏览器滚动条滚动侧边栏高亮响应

目录 演示 ​编辑 需求 代码 css html script 代码解释 1、获取所有link-content 2、定义一个rectContent数组,然后循环allContents调用getClientRects()[0]获取每个link-content元素与浏览器视口的关系 3、为数组追加link-content,用于设置侧…

软件设计师——面向对象技术(一)

📑前言 本文主要是【面向对象技术】——软件设计师—面向对象技术的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#…

官网IDM下载和安装的详细步骤

目录 一、IDM是什么 二、下载安装 三、解决下载超时的问题 四、谷歌浏览器打开IDM插件 谷歌浏览器下载官网👇 五、测试 六、资源包获取 一、IDM是什么 IDM(internet download manager)是一个互联网下载工具插件,常见于用…

资深IT经理分享如何选择商用远控软件三:评估产品方案匹配度

作为企业必要的IT管理和远程办公工具,远程控制解决方案的挑选和采购是需要IT部门慎重考虑的。 对于具体如何在诸多产品中选择合适的商用远程控制解决方案,此前我们就分享了一位资深IT经理的相关经验,目前已经涵盖初期的业务需求调研&#xf…

【ESP32 IDF】ESP32移植u8g2库,实现oled界面显示

ESP32移植u8g2库,实现oled界面显示 1. 简单描述2. 环境准备1. 硬件准备2. 软件准备 3. IIC屏幕 【基于 ssd1362 256*64 】4. SPI屏幕 【基于 ssd1306 128*32】 1. 简单描述 开发方式为 IDF5.0参考连接为 iic基于esp-idf移植使用u8g2 spi基于esp-idf移植使用u8g2 …

探索创意无限的Photoshop CC 2020Mac/Win版

作为一款功能强大的图像处理软件,Photoshop CC 2020(简称PS 2020)在全球范围内备受设计师、摄影师和艺术家的喜爱和推崇。它不仅为用户提供了丰富多样的工具和功能,还不断推出新的创意特效和改进的功能,让用户的创意无…

C# Solidworks二次开发:选择管理器相关的API介绍

今天在讲述主要内容之前,先说一个不太相关的问题。 我之前在其他文章中看到有一些朋友在问为什么获取到的点位数据需要乘以1000进行单位转换,其实原因是这样的,在所有使用的API中如果没有特殊说明,所有的长度单位都是米&#xff…

苹果Vision Pro即将量产

据界面新闻消息,苹果公司将在今年12月正式量产第一代MR(混合现实)产品Vision Pro。苹果公司对Vision Pro寄予了厚望,预计首批备货40万台左右,2024年的销量目标是100万台,第三年达到1000万台。 苹果的供应…

springboot + thymeleaf + layui 初尝试

一、背景 公司运营的同事有个任务,提供一个数据文件给我,然后从数据库中找出对应的加密串再导出来给他。这个活不算是很难,但时不时就会有需求。 同事给我的文件有时是给excel表格,每一行有4列,逗号隔开,…

编译和使用WPS-ghrsst-to-intermediate生成SST

一、下载 V1.0 https://github.com/bbrashers/WPS-ghrsst-to-intermediate/tree/masterV1.5(使用过程报错,原因不详,能正常使用的麻烦告知一下方法) https://github.com/dmitryale/WPS-ghrsst-to-intermediate二、修改makefile…