描述
os.listdir() 方法,用于返回指定的文件夹中,所有文件或文件夹的名字的列表。
这个列表以字母顺序。 它不包括 “.” 和 “. .” 即使它在文件夹中。之前我一直不理解这是什么意思,我们本来就不能把一个文件的名字命名为 “.” 呀!于是我试了一下:
原来 “.” 开头的文件名是被系统保留的,所以不能用。那在这里,我们用 os.listdir() 方法的时候,相当于不会显示出系统文件。这也是一种保护措施,以免我们误操作对系统造成损害。
os.listdir() 方法只支持在 Unix, Windows 下使用。
我自己用苹果的 MAC OS,其实是基于 Unix 发展而来,所以也是可以使用的!
语法
os.listdir(path)
参数:
path – 目标目录的路径,即路径的字符串表示。
返回值:
指定路径下,文件和文件夹名字的列表。
这里注意了,名字里面是包含文件后缀名的。
每个名字在列表里面是以字符串的形式存储!
案例
我们可以查看下当前目录下的文件名汇总:
>>> import os
# 首先获取当前的文件夹路径
>>> currentpath = os.getcwd()
>>> currentpath
'/Users/aitrust/Documents'
>>> file_name_list = os.listdir( currentpath )
>>> file_name_list
['hello.py', '12.jpg', 'class.txt']
这样就可以得到所有文件名啦!
这东西用处其实非常多,因为我们要涉及到文件存储,修改文件名,修改文件后另存到新的名字等,都不可或缺这个 os.listdir() 方法!
比如我在图像识别任务中,我想要对现有的训练数据(即一大堆图像)做数据增强。那就涉及到了批量修改原图片,获取文件名,对应地存储到新的文件名!就可以用这个方法!
大家还有什么别的常有应用方式,欢迎留言探讨!