python遍历文件夹下所有文件
发布日期:2021-06-29 13:43:39 浏览次数:2 分类:技术文章

本文共 1092 字,大约阅读时间需要 3 分钟。

用os库比较简单

1.最常见的需求,遍历获取文件夹下包括所有子文件夹下的所有文件的路径。

利用os.walk(path)函数:

import osroot_path = r'/Users/TNC/Desktop/bg_'for i in os.walk(root_path):	print(i)

(注:字符串前加r,防止被转义,例如出现’\t’···)

在这里插入图片描述
在这里插入图片描述

很容易看出:

1.会打印一至多个tuple,第一个tuple是描述主文件夹,后面的都是描述主文件夹下子文件夹. (注:在子目录下创建一个新文件夹,二级目录依旧可以被打印出来;因此,得知os.walk(root_path)可以获取描述主目录的tuple,以及子文件夹和子文件夹下所有更高级的子文件夹,顺序是:遍历一级目录下的第一个子文件夹,然后一次迭代遍历该子文件下所有的更高级子文件夹,全部结束后遍历一级目录下的第二个子文件夹······,深度优先?)

2.关于每一个tuple都描述着一个文件夹的信息,每个tuple都有3个元素:

for i in os.walk(path):    print(type(i[0]))    print(type(i[1]))    print(type(i[2]))

在这里插入图片描述

第一个元素(str类型)存放着该文件夹的绝对路径;
第二个元素(list类型)存放着所有子文件夹的名称;
第三个元素(list类型)存放着所有当前目录下文件的名称;

显然:第一个元素的路径和第三个元素list中的一个文件名相加,就是一个文件的绝对路径。

常见情景:循环获取当前主文件下的所有文件的绝对路径:

import os#主文件夹路径root_path = path=r'/Users/TNC/Desktop/bg_'for i in os.walk(root_path):    for j in i[2]:    	#i[0]是当前文件夹的绝对路径,j是文件名    	path = os.path.join(i[0],j)

注:os.path.join将其中的字符串中间添加’/‘连接起来

例如:os.path.join(str1,str2,str3)
类似于 str1 + ‘/’ +str2 +’/’ +str3
注意不要自行在其中元素末尾添加’/’,若是其中元素末尾添加’/’,则不会再与后面的元素连接
在这里插入图片描述

另外:

使用os.listdir(path)函数能得到文件夹下所有文件(包括文件夹)的名称:

for i in os.listdir(root_path):     print(i)

只是名称····

在这里插入图片描述

转载地址:https://chenlinwei.blog.csdn.net/article/details/98071353 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:xcode-select: error: tool 'xcodebuild' requires Xcode
下一篇:分类器是如何做检测的?——CascadeClassifier中的detectMultiScale函数解读

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月11日 10时14分25秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章