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.hqwc.cn/news/258405.html

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

相关文章

Backend - Dbeaver

目录 一、说明 二、下载并安装 (一)官网下载 (二)安装 三、使用 (一)操作步骤 (二)相关问题:无法加载驱动类oracle.jdbc.oracledriver 1. 新建驱动 2. 再重新连接数据库 …

VR全景对旅游业有什么帮助,如何助力旅游业实现新的旅游形式

引言: 旅游业是一个充满机遇的行业,而虚拟现实(VR)全景技术正逐渐改变着旅游业的面貌,通过提供身临其境的体验,VR全景成为了旅游业的新宠,将旅游带入了一个全新的数字化时代。 一、打破地域限制…

AI智能降重软件大全,免费最新AI智能降重软件

在当今信息爆炸的时代,内容创作者们面临着巨大的写作压力,如何在保持高质量的前提下提高效率成为摆在许多人面前的难题。AI智能降重软件因其独特的算法和功能逐渐成为提升文案质量的得力助手。本文将专心分享一些优秀的AI智能降重软件。 147SEO改写软件 …

Vue3+ts----根据配置项,动态生成表单

这里使用的UI框架是ElementPlus,更换其他组件直接更换constant.ts中的type配置和对应的Form组件即可. 大家可以npm install elementplus_dy_form来体验。 思路: 1.这里需要使用h函数方便控制要渲染的表单 2.传递type作为组件或html元素进行渲染&#xff…

NestJs的基础使用

初始化项目 创建项目 // 安装脚手架(只需要安装一次,因为这个是全局的) npm i -g nestjs/cli // 创建项目 nest new project-name // (该过程有个选择包管理工具的,我选的yarn)启动项目 yarn run start:dev // 可以在浏览器访问localhost:3000 输出helloWorld控制器和路由 …

MDK官网如何下载stm32支持包

网站:https://www.keil.com/demo/eval/arm.htm 1 2 3点这个下载

4.Java程序设计-基于springboot得在线考试系统

编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:772162324 摘要: 本文设计并实现了一款基于Spring Boot框架的在线考试系统小程序。随着远程学习和在线教育的普及,对于灵活、便捷的在线考试系统的需求逐渐增加。该小程序…

视频推拉流直播点播EasyDSS平台点播文件加密存储的实现方法

视频推拉流直播点播系统EasyDSS平台,可提供流畅的视频直播、点播、视频推拉流、转码、管理、分发、录像、检索、时移回看等功能,可兼容多操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性,在直播点播领域具有广泛…

低代码与MES:智能制造的新篇章

一、引言 随着工业4.0和智能制造的兴起,企业对于生产过程的数字化、智能化需求日益迫切。制造执行系统(MES)作为连接计划层与控制层的关键信息系统,在提升生产效率、优化资源配置、保障产品质量等方面发挥着重要作用。然而&#…

微信小程序 - 创建 ZIP 压缩包

微信小程序 - 创建 ZIP 压缩包 场景分享代码片段导入 JSZip创建ZIP文件追加写入文件测试方法参考资料 场景 微信小程序只提供了解压ZIP的API,并没有提供创建ZIP的方法。 当我们想把自己处理好的保存,打包ZIP保存下来时就需要自己实现了。 分享代码片段…

2024 IEEE Fellow名单出炉(附部分华人获奖理由)

11月22日,美国电子电气工程师学会(IEEE)公布了 2024 年新晋 Fellow 名单。因为这些学术大咖也是访问学者、博士后研究人员及联合培养博士心仪的目标导师,故知识人网小编特编辑此文以飨读者。 IEEE,全称Institute of El…

Mybatis XML 多表查询

这篇需结合 <<Mybatis XML 配置文件>>那一篇博客一起看 工作中尽量避免使用多表查询,尤其是对性能要求非常高的项目 我们之前建了个用户表(代码在Mybatis XML配置文件那篇博客里),这次再建一个文章表,代码如下 : -- 创建⽂章表 DROP TABLE IF EXISTS articleinf…