python下遍历文件夹中所有文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AManFromEarth/article/details/79125361

python下遍历某个路径所有文件是很常用的事,一直对其有所困扰,今天想明白了之后记录下来,供以后查阅。

首先,文件夹是这样的:
这里写图片描述
a,b,c是各包含一张jpg图片的文件夹,其余是4张jpg图片。

遍历文件夹的方法首先需要调用os库,即
import os
然后使用
os.walk(path)
path是指想遍历文件夹的路径
完整代码如下:

import os
path=r'C:\Users\Administrator\Desktop\123'
for i in os.walk(path):
    print(i)

结果是:
这里写图片描述

为什么是这个结果?我当时想了很久,最终明白:
os.walk(path)这个函数得到的结果是一个或多个tuple,个数取决于路径下是否有文件夹:如果没有文件夹的话,那么只有一个tuple,如果有的话,假如有3个,那么就会有4个tuple。

而每个tuple中有三项:
1.当前文件夹的路径(str类型)
2.当前文件夹中的所有文件夹名称(list类型)
3.当前文件夹中所有文件的名称

所以,当只需要遍历当前文件夹下的文件时,只需要取出i[2]即可。

或者使用os.listdir(path)函数能得到文件夹下所有文件(包括文件夹)的名称,但是无法获取子文件夹的状态

import os
path = r'C:\1'
filenames = os.listdir(path)
for filename in filenames:
    print(filename)

结果

000001.jpg
000002.jpg
1.jpg
2.jpg
文件夹

猜你喜欢

转载自blog.csdn.net/AManFromEarth/article/details/79125361