Python3.x:os.listdir和os.walk(获取路径方法)的区别
Python3.x:os.listdir和os.walk(获取路径方法)的区别
1,os.listdir
使用情况:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir;
例如:d:\listdir文件夹下有三个文件(text1.txt、test2.txt、test3.txt),获得文件的绝对路径:
import os
path = r'd:\listdir'
for filename in os.listdir(path):
#目录的路径和文件名拼接起来,得到了文件的绝路路径
print(os.path.join(path,filename))
输出结果:
d:\listdir\test1.txt
d:\listdir\test2.txt
d:\listdir\test3.txt
2,os.walk
使用情况:递归的情况,一个目录下面既有目录(目录下面还可能有目录和文件)也有文件,如何读取里面所有文件,使用os.walk;
例如:d:\listdir文件夹下有三个文件(text1.txt、test2.txt、test3.txt)和两个文件夹filedir1(包含文件text1_1.txt、text1_2.txt)和filedir2(包含文件text2_1.txt、text2_2.txt):
import os
path = r'd:\listdir'
for dirpath,dirnames,filenames in os.walk(path):
print(dirpath,dirnames,filenames)
输出结果:
d:\listdir ['filedir1', 'filedir2'] ['test1.txt', 'test2 .txt']
d:\listdir\filedir1[] ['test1_1.txt', 'test1_2.txt']
d:\listdir\filedir2[] ['test2_1.txt','test2_2.txt']
说明:os.walk输入一个路径名称,以yield的方式(其实是一个生成器)返回一个三元组 dirpath, dirnames, filenames;
dirpath为目录的路径,为一个字符串。比如上面的d:\listdir、d:\listdir\filedir1、d:\listdir\filedir2等。
dirnames列出了目录路径下面所有存在的目录的名称。比如在d:\listdir下面有两个目录:filedir1和filedir2。
filenames列出了目录路径下面所有文件的名称。同样在 d:\listdir下面有两个文件test1.txt和test2 .txt,那么将会列出这两个文件名。
获取路径下面的所有文件的绝对路径:
import os
path = r'd:\listdir'
for dirpath,dirnames,filenames in os.walk(path):
for filename in filenames:
print(os.path.join(dirpath,filename))
输出结果:
d:\listdir\test1.txt
d:\listdir\test2.txt
d:\listdir\filedir1\test1_1.txt
d:\listdir\filedir1\test1_2.txt
d:\listdir\filedir2\test2_1.txt
d:\listdir\filedir2\test2_2.txt
Python3.x:os.listdir和os.walk(获取路径方法)的区别的更多相关文章
- os.listdir()、os.walk()和os.mkdir()的用法
内容主要参照博客https://blog.csdn.net/xxn_723911/article/details/78795033 http://www.runoob.com/python/os-wa ...
- python使用os.listdir和os.walk获得文件的路径
python使用os.listdir和os.walk获得文件的路径 目录 情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 情况2:递归的情况,一个目录下面既有目录 ...
- JAVA文件中获取路径及WEB应用程序获取路径方法
JAVA文件中获取路径及WEB应用程序获取路径方法 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了tes ...
- Java获取路径方法&相对路径读取xml文件方法
(1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...
- c#中获取路径方法
要在c#中获取路径有好多方法,一般常用的有以下五种: //获取应用程序的当前工作目录. String path1 = System.IO.Directory.GetCurrentDirectory() ...
- import os, glob, fnmatch--Python os/glob/fnmatch主要函数总结
auther: Lart date: 2019-01-17 update: 2019-01-18 09:55:36 --- import os, glob, fnmatch 针对某些操作, 官方推荐这 ...
- Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比
Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法 os.system('ll /data/') 但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...
- Java项目中读取properties文件,以及六种获取路径的方法
下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...
- python获取指定目录下所有文件名os.walk和os.listdir
python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...
随机推荐
- js插件---->ueditor编辑器的使用
UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点.今天我们就开始学习一下.大致的效果图如下
- 批量远程执行linux服务器程序--基于pxpect(多进程、记日志版)
#!/usr/bin/python '''Created on 2015-06-09@author: Administrator''' import pexpect import os,sys fro ...
- Hadoop集群搭建文档
环境: Win7系统装虚拟机虚拟机VMware-workstation-full-9.0.0-812388.exe Linux系统Ubuntu12.0.4 JDK j ...
- react 侧栏二级菜单组件
侧边栏菜单组件 component 下新建menu文件,menu下建index.jsx和subitem.jsx index.jsx import React, { Component } from ' ...
- Firefox不能加载TinyMCE的问题
不知Firefox的哪个版本开始,经常不能正常加载TinyMCE. 经过分析发现,出问题时总是停留在加载advhr插件(tiny_mce/plugins/advhr/editor_plugin.js) ...
- #pragma预处理命令详解
#pragma预处理命令 #pragma可以说是C++中最复杂的预处理指令了,下面是最常用的几个#pragma指令: #pragma comment(lib,"XXX.lib") ...
- Oracle等待事件之Enqueue(锁)
1.产生原因 表示与内部队列机制相关的等待,例如对保护内部资源或者组件的锁的请求等,一种并发的保护机制,该等待意味着在访问同样的数据库资源时需要等待其他会话已经获取的锁. 2.确定产生问题的对象 死锁 ...
- Linux救援模式
Linux系统使用版本:CentOS 6.5 救援模式有什么作用: ◆可以更改root密码: ◆恢复硬盘.文件系统操作: ◆系统启动不来的时候,只能通过救援模式来启动: 救援模式启动的步骤如下: 1. ...
- ETL__pentaho__SPOON_PDI
Pentaho Data Integration (PDI, also called Kettle),是pentaho的etl工具.虽然etl工具一般都用在数据仓库环境中,可是,PDI还是可以做以下事 ...
- 设计模式之——visitor模式
visitor模式,又叫访问者模式,把结构和数据分开,编写一个访问者,去访问数据结构中的元素,然后把对各元素的处理全部交给访问者类.这样,当需要增加新的处理时候,只需要编写新的 访问者类,让数据结构可 ...