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 相关文章推荐
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
使用Python3编写抓取网页和只抓网页图片的脚本
Aug 20 Python
Python制作Windows系统服务
Mar 25 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
基于python绘制科赫雪花
Jun 22 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
python super的使用方法及实例详解
Sep 25 Python
Python笔记之代理模式
Nov 20 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 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
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
PHP 断点续传实例详解
2017/11/11 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
js 事件小结 表格区别
2007/08/13 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
react-native android状态栏的实现
2018/06/15 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
python 正则式使用心得
2009/05/07 Python
python操作xml文件示例
2014/04/07 Python
python对数组进行反转的方法
2015/05/20 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
python 等差数列末项计算方式
2020/05/03 Python
Django如何重置migration的几种情景
2021/02/24 Python
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
后勤主管工作职责
2013/12/07 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
演讲稿格式
2014/04/30 职场文书
大学学风建设方案
2014/05/04 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
建国大业观后感600字
2015/06/01 职场文书