Python使用os.listdir和os.walk获取文件路径


Posted in Python onMay 21, 2020

情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir

在我们的桌面上有一个file目录(文件夹),里面有三个文件

file(dir)|

--|test1.txt

--|test2.txt

--|test3.txt

用下面的程序获得文件的绝对路径:

import os
path = r'C:\Users\Administrator\Desktop\file'
for filename in os.listdir(path):
print(os.path.join(path,filename))

使用os.listdir读取到一个目录下面所有的文件名,然后使用os.path.join把目录的路径和文件名结合起来,就得到了文件的绝路路径,结果如下:

C:\Users\Administrator\Desktop\file\test1.txt
C:\Users\Administrator\Desktop\file\test2.txt
C:\Users\Administrator\Desktop\file\test3.txt

情况2:递归的情况,一个目录下面既有目录也有文件,使用os.walk:

os.walk介绍:

我们在桌面上面建立一个file目录,里面的组织结构如下:

file(dir):

--|file1(dir):

--|file1_test1.txt

--|file1_test2.txt

--|file2(dir)

--|file2_test1.txt

--|file_test1.txt

--|file_test2.txt

运行一下代码:

import os
path = r'C:\Users\Administrator\Desktop\file'
for dirpath,dirnames,filenames in os.walk(path):
print(dirpath,dirnames,filenames)

输出结果如下:

C:\Users\Administrator\Desktop\file ['file1', 'file2'] ['file_test1.txt', 'file_test2 .txt']
C:\Users\Administrator\Desktop\file\file1 [] ['file1_test1.txt', 'file1_test2.txt']
C:\Users\Administrator\Desktop\file\file2 [] ['file2_test1.txt']

os.walk输入一个路径名称,以yield的方式(其实是一个生成器)返回一个三元组 dirpath, dirnames, filenames,

dirpath为目录的路径,为一个字符串。比如上面的 C:\Users\Administrator\Desktop\file和C:\Users\Administrator\Desktop\file\file1等。

dirnames列出了目录路径下面所有存在的目录的名称。比如在 C:\Users\Administrator\Desktop\file下面有两个目录:file1和file2,那么它就列出了这个目录路径下的目录名称。

filenames列出了目录路径下面所有文件的名称。同样在 C:\Users\Administrator\Desktop\file下面有两个文件file_test1.txt和file_test2 .txt,那么程序将会列出这两个文件名。

如何获得一个路径下面所有的文件路径:

import os
path = r'C:\Users\Administrator\Desktop\file'
for dirpath,dirnames,filenames in os.walk(path):
for filename in filenames:
print(os.path.join(dirpath,filename))

得到的结果如下:

C:\Users\Administrator\Desktop\file\file_test1.txt
C:\Users\Administrator\Desktop\file\file_test2 .txt
C:\Users\Administrator\Desktop\file\file1\file1_test1.txt
C:\Users\Administrator\Desktop\file\file1\file1_test2.txt
C:\Users\Administrator\Desktop\file\file2\file2_test1.txt

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现合并字典的方法
Jul 07 Python
详解Django中的form库的使用
Jul 18 Python
利用Python读取文件的四种不同方法比对
May 18 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
Python3.5 创建文件的简单实例
Apr 26 Python
Python对excel文档的操作方法详解
Dec 10 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
python如何通过闭包实现计算器的功能
Feb 22 Python
Python实现简单的猜单词小游戏
Oct 28 Python
python unichr函数知识点总结
Dec 16 Python
Python爬虫中urllib3与urllib的区别是什么
Jul 21 Python
keras 权重保存和权重载入方式
May 21 #Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 #Python
Python通过文本和图片生成词云图
May 21 #Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 #Python
Python 实现敏感目录扫描的示例代码
May 21 #Python
基于python检查矩阵计算结果
May 21 #Python
Django 解决由save方法引发的错误
May 21 #Python
You might like
PHP cdata 处理(详细介绍)
2013/07/05 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
python代码制作configure文件示例
2014/07/28 Python
python中函数默认值使用注意点详解
2016/06/01 Python
python常用函数详解
2016/09/13 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
虚拟机下载python是否需要联网
2020/07/27 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
个人简历中的自我评价范例
2013/10/29 职场文书
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
小学校园活动策划
2014/01/30 职场文书
农民工讨薪标语
2014/06/26 职场文书
运动会广播稿300字
2015/08/19 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书