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

原文地址:https://www.cnblogs.com/lizm166/p/8151447.html

时间: 2024-08-02 11:22:22

Python3.x:os.listdir和os.walk(获取路径方法)的区别的相关文章

Java获取路径方法&相对路径读取xml文件方法

Java获取路径方法&相对路径读取xml文件方法 (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 (3).request.getSession().getServletContext().getRealPath("/");//获取工程的根路径

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

目录 情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 情况2:递归的情况,一个目录下面既有目录也有文件,使用os.walk: os.walk介绍: 如何获得一个路径下面所有的文件路径: 正文 回到顶部 情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 在我们的桌面上有一个file目录(文件夹),里面有三个文件 file(dir)| --|test1.txt --|test2.txt --|test3.txt 用下面的程序获得文件的

JAVA文件中获取路径及WEB应用程序获取路径方法

原文转自:http://www.tqcto.com/article/recommend/141.html 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径: http://www.sun.com/index.htm也代表了一个URL绝对路径: `相对路径`:相对与某个基准目录的路径,包含Web的相对路径(HTML中的相对目录). 例如: 在Servlet中,"/"

关于搜索全部文件和修改文件名的方法os.walk() 和os.listdir

os.walk()遍历所有的文件并列出各级,os.listdir()只列出当前文件下的条目,一个列表 1.os.walk() 大材小用. import os path = 'j:\\juypter\\爬虫\\百度图片\\' for dirnames, subnames, files in os.walk(path):#父目录,子目录,文件名称 for file in files:#只取files里的文件名,不含目录 new_name = '美女' + file os.rename(path +

android选择图片,通过uri获取路径

/** * 根据Uri获取图片的绝对路径 * * @param context 上下文对象 * @param uri 图片的Uri * @return 如果Uri对应的图片存在, 那么返回该图片的绝对路径, 否则返回null */ public static String getRealPathFromUri(Context context, Uri uri) { int sdkVersion = Build.VERSION.SDK_INT; if (sdkVersion >= 19) { //

Python3基础 os listdir() 列举当前目录的所有文件及文件夹的名字

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: # OS operating system # python扩平台的语言 import os #打印当前的工作目录 print(os.getcwd()) #列举当前工作目录下的文件名 print(os.listdir()) os.chdir('E:\\') #改变工作目录 #我

Python3基础 os listdir curdir pardir 查看当前工作目录的上一级目录的所有文件的名字

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: # OS operating system # python跨平台的语言 import os #将工作目录更改为E:\a\b\c,就是在c这个文件夹里面 os.chdir(r'E:\a\b\c') #当前工作目录有啥 print(os.getcwd()) #上一级工作目录有啥

Python3基础 os listdir curdir查看当前工作目录的所有文件的名字

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: # OS operating system # python跨平台的语言 import os print(os.listdir(os.curdir)) result: ============= RESTART: C:/Users/Administrator/Desktop/m

Mac 下 Python os.listdir 出现 invalid literal for int() with base 10 错误

因为 Mac 下的 .DS_Store 也会包含进去 解决方法: def listdirInMac(path): os_list = os.listdir(path) for item in os_list: if item.startswith('.') and os.path.isfile(os.path.join(path, item)): os_list.remove(item) return os_list