python使用os.listdir和os.walk获得文件的路径的方法


Posted in Python onDecember 16, 2017

本文介绍了python使用os.listdir和os.walk获得文件的路径的方法,分享给大家。具体如下:

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。

os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下。

情况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爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
Python中zfill()方法的使用教程
May 20 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
python opencv之分水岭算法示例
Feb 24 Python
numpy给array增加维度np.newaxis的实例
Nov 01 Python
深入了解Python在HDA中的应用
Sep 05 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
python 异步async库的使用说明
May 04 Python
基于python实现可视化生成二维码工具
Jul 08 Python
Python datetime模块的使用示例
Feb 02 Python
python读取与写入csv格式文件的示例代码
Dec 16 #Python
浅谈用VSCode写python的正确姿势
Dec 16 #Python
numpy中索引和切片详解
Dec 15 #Python
Python实现简单网页图片抓取完整代码实例
Dec 15 #Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 #Python
神经网络python源码分享
Dec 15 #Python
神经网络理论基础及Python实现详解
Dec 15 #Python
You might like
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
基于JQuery制作的产品广告效果
2010/12/08 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
Python如何给函数库增加日志功能
2020/08/04 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
集体婚礼策划方案
2014/02/22 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
销售2014年度工作总结
2014/12/08 职场文书
埃及王子观后感
2015/06/16 职场文书
教师节领导致辞
2015/07/29 职场文书
房屋买卖定金协议书
2016/03/21 职场文书