Python os.listdir与os.walk实现获取路径详解

 更新时间:2022年10月11日 16:01:07   作者:Python热爱者  
这篇文章主要介绍了Python使用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

到此这篇关于Python os.listdir与os.walk实现获取路径详解的文章就介绍到这了,更多相关Python os.listdir与os.walk内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python多线程死锁现象及解决方法

    python多线程死锁现象及解决方法

    这篇文章主要为大家介绍了python多线程死锁现象与解决方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Python 机器学习之线性回归详解分析

    Python 机器学习之线性回归详解分析

    回归是监督学习的一个重要问题,回归用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值也随之发生变化。回归模型正是表示从输入变量到输出变量之间映射的函数
    2021-11-11
  • 解决keras,val_categorical_accuracy:,0.0000e+00问题

    解决keras,val_categorical_accuracy:,0.0000e+00问题

    这篇文章主要介绍了解决keras,val_categorical_accuracy:,0.0000e+00问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python爬虫之对CSDN榜单进行分析

    Python爬虫之对CSDN榜单进行分析

    这篇文章主要介绍了Python爬虫之对CSDN榜单进行分析,文章有详细代码,简单易懂,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2023-01-01
  • python进程和线程用法知识点总结

    python进程和线程用法知识点总结

    在本篇文章里小编给大家整理了关于python进程和线程用法以及相关实例内容,需要的朋友们跟着学习下。
    2019-05-05
  • Python round函数的基本用法与实例代码

    Python round函数的基本用法与实例代码

    round()函数是Python中用于对浮点数进行四舍五入的内置函数,这篇文章详细介绍了round()函数的基本用法、参数详解、特殊情况处理以及应用场景,并提供了丰富的示例代码,需要的朋友可以参考下
    2024-11-11
  • python+opencv处理颜色之将目标颜色转换实例代码

    python+opencv处理颜色之将目标颜色转换实例代码

    OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上,这篇文章主要介绍了python+opencv处理颜色之将目标颜色转换的相关资料,需要的朋友可以参考下
    2025-03-03
  • 学会迭代器设计模式,帮你大幅提升python性能

    学会迭代器设计模式,帮你大幅提升python性能

    这篇文章主要介绍了python 迭代器设计模式的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • python读取和保存图片5种方法对比

    python读取和保存图片5种方法对比

    为大家分享一下python读取和保存图片5种方法与比较,python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块
    2018-09-09
  • Python循环中else,break和continue的用法实例详解

    Python循环中else,break和continue的用法实例详解

    这篇文章主要介绍了Python循环中else,break和continue的用法,结合实例形式详细分析了Python for循环、while循环中else,break和continue的功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-07-07

最新评论