os.listdir和os.walk都是获取指定目录下的文件内容

两者有一定的区别,现在举例说明:

如下图所示目录结构:

os.walk

import os
def file_name(file_site):for root, dirs, files in os.walk(file_dir):print("root", root)      # 当前目录路径print("dirs", dirs)      # 当前路径下所有子文件夹print("files", files)    # 当前路径下所有非子文件夹的文件file_name_walk('E:/文件')

输出:

root : E:/文件             # 当前目录
dirs : ['A', 'B']          # 当前目录下的子文件夹
files : ['text.txt']       # 当前目录下的非子文件夹的文件
root : E:/文件\A           # 子文件夹A的目录
dirs : ['A1']              # 子文件夹A中的子文件夹A1
files : []                 # 子文件夹A中没有非文件夹
root : E:/文件\A\A1         # 子文件夹A1的目录
dirs : []                  # 子文件夹A1中没有子文件夹
files : []                 # 子文件夹A1中没有非文件夹
root : E:/文件\B            # 子文件夹B的目录
dirs : []                  # 子文件夹B中的没有子文件夹
files : []                 # 子文件夹B中的没有非文件夹

从上面可以看出:os.walk每次会把访问指定地址的:1、文件目录路径;2、文件中的子文件夹;3、文件中的非文件夹内容;然后一直类似遍历下去,不断深入文件的最底层。

os.listdir

def file_name(file_dir):for files in os.listdir(file_dir):  # 不仅仅是文件,当前目录下的文件夹也会被认为遍历到print("files:", files)

输出:

files: A            # 指定路径文件夹的子文件
files: B            # 指定路径文件夹的子文件
files: text.txt     # 指定路径文件夹的非文件夹内容

可以看出:os.listdir 直接访问指定文件夹内的内容,不会再嵌套的继续访问下去。

Python中os.listdir和os.walk的区别相关推荐

  1. 详细讲解Python遍历目录的文件夹(dir)、文件(file)的三种方法:os.listdir、os.walk和os.scandir

    在使用Python开发项目的时候,会遇到需要遍历文件夹.文件的需求,我整理了三种主流方法:os.listdir.os.walk和os.scandir,并进行了详细的讲解. 用于实验的目录: .test ...

  2. os.listdir()和os.listdir(“c:“)

    记录一个小发现,不知道有没有人发现过. python中,使用os.listdir()和使用os.listdir("c:")的结果是一样的. 电脑只有三个盘,当使用 os.listd ...

  3. 【新手指南】Python中的listdir()函数的介绍

    [新手指南]Python中的listdir()函数的介绍 在用pytorch导入dataset的时候对listdir()函数产生的是文件还是文件夹一直都有疑问,所以自己先在网上找了一段小代码调试,先小 ...

  4. python while if 区别_对python中for、if、while的区别与比较方法

    如下所示: if应用举例: #if 若条件成立,只执行一次 #if 条件:如果条件成立,执行条件后的代码块内容,不成立,直接跳过代码块 #判断如果年龄age小于18,输出未成年 #=一个等号表示赋值的 ...

  5. Python中threading的join和setDaemon的区别及用法 例子

    Python中threading的join和setDaemon的区别及用法 Python多线程编程时,经常会用到join()和setDaemon()方法,今天特地研究了一下两者的区别. 1.join ...

  6. python的none是什么-python中的null与none有什么区别

    Python中none与null的区别有:none可以看作是一个具体的值用来初始化变量,而null表示空不是一个值,并且没有与任何一个值绑定并且存储空间也没有存储值 Python中所有的操作都是针对对 ...

  7. Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho

    Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...

  8. python中_x、__x、__xx__的区别

    python中_x.__x.__xx__的区别 注释:该文章是从英文文档翻译过来的,具体代码可以参考原网址,这里只是简单解释一下他们的区别,方便大家迅速了解.原地址:difference-betwee ...

  9. Python中NaN、nan和NAN的区别及使用方法

    Python中NaN.nan和NAN的区别及使用方法 Python中的NaN(Not a Number)是一个特殊的浮点数值,用于表示非数值型计算结果或无限大的运算结果,常用于科学计算.数据分析等领域 ...

  10. Python学习笔记(一)1.Python中end=和sep=的用法与区别。

    一.Python中end=和sep=的用法与区别: python中常用到的end=和sep=两种参数用法相似,一个是python输出结尾,一个是python输出分割. end: 默认是换行,表示两个字 ...

最新文章

  1. 在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3
  2. 皮一皮:化学解释为什么喝醉了容易像狗一样...
  3. 用javascript实现一门编程语言-字符输入流
  4. oracle批处理脚本学习总结
  5. android kernel控制台初始化过程
  6. 热烈祝贺我刊主编郑纬民教授被提名为中国工程院2017年院士增选候选人!
  7. PAT 乙级1001 害死人不偿命的(3n+1)猜想
  8. php教程 二叉树,PHP ClassObject -- PHP 自排序二叉树的深入解析
  9. Ubuntu下载依赖包
  10. c语言输出100以内的素数存放数组中,c语言素数(c语言输出100以内素数)
  11. 【Scratch案例教学】Scratch九九乘法表 少儿编程Scratch创意编程案例教学
  12. 稻盛和夫经典著作----《心》读后感
  13. 关于百度ueditor图片上传到OSS问题解决
  14. Oracle中用户查询表一定要加上表空间名的问题
  15. qq语音聊天 java_用Java语言实现QQ部分聊天功能
  16. 变分(Calculus of variations)的概念及运算规则(一)
  17. matlab制作天体运动动画,天体运动 动态演示
  18. c语言大作业开题报告,C语言大作业报告.doc
  19. 一个有趣的SQL问题。
  20. 基于java springboot android 安卓校园宿舍报修系统源码(毕设)

热门文章

  1. 对冲基金表现大盘点(二):Citadel
  2. 阿里巴巴副总裁陈丽娟:我对阿里云产品生态的思考
  3. 阿里数据中台核心产品揭秘
  4. mysql二进制文件下载教程_MySQL二进制版本快速部署
  5. 【数据预测】基于matlab BP+ELM+LSTM+BiLSTM+SAELSTM数据预测【含Matlab源码 1825期】
  6. 【数据预测】基于matlab双向长短时记忆(biLSTM)数据预测【含Matlab源码 1793期】
  7. 【优化调度】基于matlab改进粒子群算法求解微电网优化调度问题【含Matlab源码 052期】
  8. 【目标定位】基于matlab UWB卡尔曼滤波追踪无线时钟同步误差【含Matlab源码 1626期】
  9. 【三维路径规划】基于matlab遗传算法无人机三维路径规划【含Matlab源码 1526期】
  10. 【图像压缩】基于matlab GUI哈达玛变换图像压缩【含Matlab源码 845期】