Python使用os.listdir和os.walk获取文件路径

作者:疯了的小蜗 时间:2023-01-30 11:02:10 

情况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

来源:https://www.cnblogs.com/insane-Mr-Li/p/12795510.html

标签:Python,os,listdir,walk,路径
0
投稿

猜你喜欢

  • wxPython的安装与使用教程

    2023-01-07 17:46:33
  • JavaScript数组的5种迭代方法

    2024-04-22 22:17:42
  • call在Python中改进数列的实例讲解

    2021-10-12 17:17:20
  • MySQL数据库备份恢复的两个实用方法

    2008-12-31 15:09:00
  • PHP Laravel门面的实现原理详解

    2023-05-25 06:42:36
  • python静态web服务器实现方法及代码详解

    2023-01-13 17:17:12
  • MySQL解决Navicat设置默认字符串时的报错问题

    2024-01-26 08:13:54
  • Javascript学习笔记之 函数篇(二) : this 的工作机制

    2024-05-11 10:23:57
  • asp sql数据验证之特殊字符处理

    2008-02-24 16:35:00
  • Python 如何操作 SQLite 数据库

    2024-01-24 00:09:27
  • JavaScript 关于引用那点事

    2009-11-28 18:44:00
  • matplotlib 输出保存指定尺寸的图片方法

    2021-09-06 11:29:12
  • python使用UDP实现客户端和服务器对话

    2023-03-24 17:59:27
  • javascript如何实现360度全景照片问题汇总

    2024-04-10 10:43:38
  • django修改models重建数据库的操作

    2024-01-12 21:58:07
  • MySQL实现字符串的拼接,截取,替换,查找位置的操作

    2024-01-13 13:17:22
  • Linux下通过python获取本机ip方法示例

    2023-02-18 05:56:15
  • Python爬取腾讯视频评论的思路详解

    2021-05-30 23:04:43
  • MySQL切分查询用法分析

    2024-01-28 01:11:35
  • python如何去除字符串中不想要的字符

    2022-01-05 20:37:46
  • asp之家 网络编程 m.aspxhome.com