点此查看 零基础Python全栈文章目录及源码下载

本文目录

  • 1. 简介
  • 2. 实例

1. 简介

遍历一个目录下所有的文件夹和文件是非常有用的事情,在python中os模块提供了非常简单易行的遍历方法os.walk(path)。

另外一定要了解的一点是,os.walk(path)遍历有点“广度优先”的意思,也就是说在上一个os.walk没执行完之前,再运行os.walk会等待。

2. 实例

先看代码,注意ShowPathInfo函数是对一个目录进行处理,对该目录下的文件夹同样会递归调用ShowPathInfo,注意 print("*****")输出的时机表明了os.walk等待执行的特点。

#目录的遍历#导入os模块
import os#获取目录信息
print("请输入目录信息")
dir=input()
while os.path.exists(dir)==False:print("目录不存在,请重新输入")dir=input()#对一个目录的处理函数
def ShowPathInfo(path):print("*****")for folder,subFolders,files in os.walk(path):print("\n==当前遍历目录:"+folder)for file in files:print("[文件]:"+file)for subFolder in subFolders:print("[文件夹]:"+subFolder)ShowPathInfo(subFolder)            #主程序
print("==========遍历开始")
ShowPathInfo(dir)
print("==========遍历结束")

测试,根据****输出时机,看os.walk运行方式

请输入目录信息
C:\Users
==========遍历开始
*****==当前遍历目录:C:\Users
[文件]:desktop.ini
[文件夹]:Administrator
*****
[文件夹]:All Users
*****
[文件夹]:Classic .NET AppPool
*****
[文件夹]:Default
*****
[文件夹]:Default User
*****
[文件夹]:DefaultAppPool
*****
[文件夹]:Public
*****==当前遍历目录:C:\Users\Administrator
[文件]:.deliverycenter.installs
[文件]:.packettracer
[文件]:a.py
[文件]:mm.cfg
[文件]:NTUSER.DAT
[文件]:ntuser.dat.LOG1
[文件]:ntuser.dat.LOG2
[文件]:NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TM.blf
[文件]:NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000001.regtrans-ms
[文件]:NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000002.regtrans-ms
[文件]:ntuser.ini
[文件]:ntuser.pol
[文件]:pdf.exe
[文件]:WebpageIcons.db
[文件夹]:.android
*****
[文件夹]:.eclipse
*****
[文件夹]:.idlerc
*****
[文件夹]:.IntelliJIdea2016.3
*****
[文件夹]:.m2
*****
[文件夹]:.p2
*****
[文件夹]:.VirtualBox
*****
[文件夹]:AppData
*****
[文件夹]:Application Data
*****
[文件夹]:Cisco Packet Tracer 6.0

Python学习笔记(21)-目录遍历相关推荐

  1. python学习笔记 os.scandir遍历目录

    python学习笔记 os.scandir遍历目录 之前尝试用os.walk进行遍历目录,前几天看有人说os.scandir比walk更高效,尝试了一下,写了两端代码,做了一个测试 第一段用walk也 ...

  2. Python学习笔记 -- 列表2: 遍历:嵌套列表, 将其中同位置的元素组成新的列表

    #遍历:嵌套列表, 将其中同位置的元素组成新的列表 lsts = [[1,2,3], [4,5,6],[7,8,9],[10,11,12]]ret_x = [x for [x,y,z] in lsts ...

  3. Python学习笔记:目录与文件操作

    文章目录 一.案例演示 1.导入os与shutil模块 2.获取当前工作目录 3.创建目录 4.切换当前目录 5.创建文件,写入内容 6.打开文件,查看内容 7.查看目录信息 8.拷贝文件 9.文件改 ...

  4. Python学习笔记:第五站 转圈圈

    Python学习笔记 文章目录 Python学习笔记 第五站 转圈圈 1. range()函数的使用 2. while循环 3. for-in循环 4. break.continue与else语句 5 ...

  5. Python学习笔记:第十五站 大宝藏

    Python学习笔记 文章目录 Python学习笔记 第十五站 大宝藏 1. 编码格式介绍 2. 文件的读写原理 3. 文件读写操作 4. 文件对象常用的方法 5. with语句(上下文管理器) 6. ...

  6. Python学习笔记:第七站 夫妻站

    Python学习笔记 文章目录 Python学习笔记 第七站 夫妻站 1. 什么是字典 2. 字典的创建 3. 字典的查询操作 4. 字典元素的增.删.改操作 5. 字典推导式 6. 本章作业 课程笔 ...

  7. Python学习笔记:第十三站 接着找对象

    Python学习笔记 文章目录 Python学习笔记 第十三站 接着找对象 1. 封装 2. 继承 3. 方法重写 4. object类 5. 多态 6. 特殊方法和特殊属性 7. 类的赋值与拷贝 8 ...

  8. Python学习笔记:第十站 水晶球不调用不动

    Python学习笔记 文章目录 Python学习笔记 第十站 水晶球不调用不动 1. 函数的创建和调用 2. 函数的参数传递 3. 函数的返回值 4. 函数的参数定义 5. 变量的作用域 6. 递归函 ...

  9. Python学习笔记:第四站 往哪走

    Python学习笔记 文章目录 Python学习笔记 第四站 往哪走 1. 程序的组织结构 2. 顺序结构 3. 对象的布尔值 4. 分支结构 5. pass空语句 6. 本章作业 课程笔记参考B站视 ...

最新文章

  1. nginx 的动静分离配置(tomcat)
  2. Athentech Perfectly Clear中文版
  3. 了解JVM运行时的内存分配
  4. CAN总线技术在船舶监控系统的应用
  5. 基于STC89C52的韦根数据接收
  6. 干货| PHPCon上TARS-PHP全面解读及PPT下载
  7. php 最大限制,php – ModSecurity最大发布限制(PCRE限制错误)
  8. 再也不怕重装eclipse! 让你的eclipse插件只下载一次
  9. google浏览器html不提示,谷歌浏览器不显示标签页怎么回事 谷歌浏览器不显示标签页的解决方法...
  10. 数据库报错create connection SQLException,............ errorCode 1129, state HY000
  11. 微软公司软件测试工程师,【其它微软中国(Microsoft)工资】软件测试工程师待遇-看准网...
  12. 监听电源键的单击或长按事件
  13. KS检验、qq图、Scalability可扩展性
  14. uniapp swiper组件被内容撑开
  15. Do Transformers Really Perform Bad for Graph Representation 阅读笔记
  16. RK3568 VS RK3399
  17. 儿童学python第一课_初学Python(第一课)
  18. Angular项目中使用echarts中国地图
  19. Laplace变换的引入
  20. python论文格式检查系统_毕业论文格式检查软件

热门文章

  1. Django3.0使用-模板变量数据传递
  2. 基于JAVA航空订票系统计算机毕业设计源码+数据库+lw文档+系统+部署
  3. [cocos2dx开发技巧1]工具CocosBuilder的使用--demo介绍
  4. 新版本的AutoCAD2018 怎样删除 A360 Drive盘符
  5. SPI协议_FLASH
  6. 科研闭环指南|学术论文撰写经验总结
  7. 目前为止感觉最准的划线指标 不加密不含未来
  8. VMware 虚拟机扩展 CentOS7 系统磁盘空间
  9. nginx学习笔记1(小d课堂)
  10. Python用OpenCv捕捉你的头像