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播放声音——SoundManager 2
<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>SoundDemo& ...
- 《转》python学习(8)元组
转自 http://www.cnblogs.com/BeginMan/p/3156235.html 一.元组特性 1.类似列表,但不可变类型,正因如此,它可以做一个字典的key2.当处理一组对象时,这 ...
- 学习POC框架pocsuite--编写hellowordPOC
在这里,首先向安全圈最大的娱乐公司,某404致敬. 参考博文 https://www.seebug.org/help/dev 向seebug平台及该文原作者致敬,虽然并不知道是谁 长话短说其实,可自由 ...
- C++中堆和栈的完全解析
C++中堆和栈的完全解析 内存分配方面: 堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并 ...
- 【转载】国外程序员整理的Java资源大全
以下转载自: 推荐!国外程序员整理的Java资源大全中文版 https://github.com/akullpp/awesome-java英文版 Java 几乎是许多程序员们的入门语言,并且也是 ...
- jquery 实现点击按钮后出现倒计时效果(用于实现发送手机验证码、邮箱验证码)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 徐州网络赛C-Cacti Lottery【DFS】
54.19% 2000ms 262144K Morgana is playing a game called cacti lottery. In this game, morgana has a 3 ...
- mendeley不能做中文批注的解决方案
mendeley是一个很好用且免费的文献管理工具,但在ubuntu系统下,对文献进行批注无法切换中文输入法,实际上对ibus是支持的,但ibus实在是太难用,大部分ubuntu用户钟爱的还是fcitx ...
- vitess基础镜像构建流程Centos
以下列出了构建vitess使用的Centos镜像的简单流程,由于较早基础版本是Centos7.2的,重新构建可以基于最新的Centos版本构建 1.基础镜像拉取 #拉取官方版本 docker pull ...
- Spring 体系结构
https://www.w3cschool.cn/wkspring/dcu91icn.html 体系结构 Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你 ...