文件遍历
1. os.walk(dir)
- 返回的是所有(子)文件夹的三元组(root, dirs, files)
- root 所指的是当前正在遍历的这个文件夹的本身的地址
- dirs 是一个 list ,内容是该文件夹中所有的目录(即子文件夹的名字)的名字(不包括子目录)
- files 同样是 list, 内容是该文件夹中所有的文件(不包括子目录)
-
默认是优先遍历top目录,以及top文件夹的每一个子目录。
-
os.walk
的返回值是一个生成器(generator),也就是说我们需要用循环不断的遍历它(不可以直接print),来获得所有的内容。
- 第一级文件夹里包含的全是子文件夹,没有文件,因此第一个三元组的files为空
- 第二级文件夹内只有一个文件有子文件夹
cla
,因此其他的dirs为空,并优先遍历这个子文件夹
- 若
for f in sorted(os.walk(dir))
, 则f[0]
表示返回的所有三元组的root
项,f[1]
表示所有的子目录(子文件夹)名,f[2]
表示所有的子文件名。若有多层文件夹,想要取出所有的子文件进行操作,则直接迭代取出f[2]
即可。
网友评论