python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法

**

一、python的os.walk()函数

**
经过查阅官方文档,对其用法简单总结如下:
先上代码(这里用截图):
python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法
python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法
python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法
上图的概述:在利用os.walk(data_path)函数,打印输出结果。然后再组合这些目录和文件,还原回去。

由此可见:

root就是data_path,这是一个路径,dir为该路径下的文件夹列表,files为该路径下的文件列表;后续的循环是对上面得到的dir文件夹进行迭代搜索,又重新生成root,dir,files。直到将data_path下的子文件夹全部迭代完,也就是把所有文件迭代一遍。

为了进一步验证我们的理解,我们通过root和dirs的某项组合出文件夹路径,通过root和files的某项组合出文件路径。注意这里是迭代进行的,首先从root开始,依次组合root下一级文件、文件(注意这趟循环只组合一级),然后再从dirs开始,依次组合dirs】下一级的文件夹和文件,同样只组合一级。

二、路径拼接os.path.join()函数的用法

os.path.join()函数:连接两个或更多的路径名组件
1.如果各组件名首字母不包含’/’,则函数会从左至右依次加上
2.如果有一个组件是一个绝对路径(首字母是’/’),则在它之前的所有组件均会被舍弃
3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾

特殊的,如果在a.py文件中 运行os.path.join(“…”,dir1),就是返回a.py文件所在目录的上一级目录,然后再拼接。
具体如下:

python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法

python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法
注意.\表示当前目录,…\表示上一级目录。对照两幅图就知道路径拼接的结果了。结果如上图。

三、os.listdir()

os.listdir() 方法 : 返回指定文件夹包含的文件或文件夹名字的列表。该列表顺序以字母排序。
最后上一张以上三个方法结合使用的图,相信大家很容易就看懂啦。
python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法
这里关于上图第五行补充一下:
lamda是匿名函数,filter是过滤器,就是把列表imgs中以.jpg结尾的文件过滤出来再组成列表赋给imgs。

四、os.isdir()

os.isdir(path)判断是否是目录路径