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

python--os.walk()函数使用(超详细)

在Python 3.7中,os.walk()函数的用法与早期版本(包括Python 3.4及之后)保持一致。os.walk()是一个用于遍历目录树的生成器函数,它生成给定目录中的文件名。这个函数没有直接的参数(除了你要遍历的目录路径,但这不是os.walk()的参数,而是你调用它时提供的),但它返回一个三元组,包含当前目录路径、当前目录下的子目录列表以及当前目录下的非目录文件列表。

参数

严格来说,os.walk()不接受除了目录路径之外的任何参数。但是,你可以通过修改返回的dirnames列表来影响遍历的行为。

  • 目录路径:当你调用os.walk(path)时,path是你想要遍历的目录的路径。这不是一个直接传递给os.walk()的参数,但它是调用该函数时你提供的输入。

返回值

os.walk()返回一个生成器,该生成器在每次迭代时产生一个三元组(root, dirs, files)

  • root:一个字符串,表示当前正在查看的目录的路径。
  • dirs:一个列表,包含了root中所有的子目录名(不包括路径)。你可以修改这个列表来影响os.walk()接下来的遍历行为。例如,你可以从列表中删除某个子目录名,以阻止os.walk()遍历该子目录。
  • files:一个列表,包含了root中所有的非目录文件名(不包括路径)。

示例

下面是一个使用os.walk()遍历目录树并打印所有文件路径的示例:

import os  # 替换为你的目录路径  
root_dir = '/path/to/your/directory'  for root, dirs, files in os.walk(root_dir):  for name in files:  print(os.path.join(root, name))  # 如果你想要修改遍历的行为,可以在这里修改dirs列表  # 例如,阻止遍历名为'ignore'的子目录  if 'ignore' in dirs:  dirs.remove('ignore')

在这个示例中,os.walk()遍历root_dir指定的目录,并为每个找到的文件打印其完整路径。注意,你可以通过修改dirs列表来影响os.walk()的遍历行为。在这个示例中,如果找到一个名为'ignore'的子目录,则将其从dirs列表中删除,从而阻止os.walk()遍历该子目录。

http://www.lryc.cn/news/384177.html

相关文章:

  • 基础名词概念
  • ArkTS开发系列之Web组件的学习(2.9)
  • postman接口工具的详细使用教程
  • C语言经典例题-17
  • 鸿蒙学习(-)
  • 【TB作品】MSP430G2553,单片机,口袋板, 烘箱温度控制器
  • PCM、WAV,立体声,单声道,正弦波等音频素材
  • 基于深度学习的图像去雾
  • 中国电子学会青少年编程等级考试真题下载
  • PostMan动态设置全局变量
  • ACL 2023事件相关(事件抽取、事件关系抽取、事件预测等)论文汇总
  • 力扣:59. 螺旋矩阵 II(Java,模拟)
  • 记录SpringBoot启动报错解决
  • 微软代码页标识符 (Code Page Identifiers)
  • 刷题——二叉树的后续遍历
  • 用友U8 Cloud smartweb2.showRPCLoadingTip.d XXE漏洞复现
  • React中的事件绑定的四种方式
  • 小文件过多的解决方法(不同阶段下的治理手段,SQL端、存储端以及计算端)
  • SGPT论文阅读笔记
  • 虚拟机与主机的网络桥接
  • urfread刷算法题day1|LeetCode2748.美丽下标的数目
  • 面向对象修炼手册(四)(多态与空间分配)(Java宝典)
  • 基于UDP的网络聊天室(多线程实现收和发消息)
  • 【脚本工具库】随机抽取数据 - 图像和标签对应(附源码)
  • 【python】eval函数
  • 实战|记一次java协同办公OA系统源码审计
  • 浅浅谈谈如何利用Javase+多线程+计算机网络的知识做一个爬CSDN阅读量总访问量的程序
  • Vscode 中launch.json与tasks.json文件
  • C#基于SkiaSharp实现印章管理(2)
  • 大二C++期末复习(自用)