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 struct模块解析
Jun 12 Python
初学Python函数的笔记整理
Apr 07 Python
Python打造出适合自己的定制化Eclipse IDE
Mar 02 Python
python实现输入数字的连续加减方法
Jun 22 Python
python实现网页自动签到功能
Jan 21 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
python 3.8.3 安装配置图文教程
May 21 Python
Python sublime安装及配置过程详解
Jun 29 Python
python字典通过值反查键的实现(简洁写法)
Sep 30 Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 Python
python缺失值填充方法示例代码
Dec 24 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
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
jQuery实现验证码功能
2017/03/17 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
Vue 实现简易多行滚动"弹幕"效果
2020/01/02 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
用Python解数独的方法示例
2019/10/24 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
python的数学算法函数及公式用法
2020/11/18 Python
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
中班教师个人总结
2015/02/05 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
病假证明模板
2015/06/19 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书