os.walk()函数返回当前文件夹下的目录和子目录,以及当前目录和其子目录下的所有文件名,使用方法为:
os.walk(".", topdown=True)
括号内第一个参数给出要遍历的目录,os.walk()函数返回的是一个三元组:
(root,dirs,files),其中dirs给出当前遍历的文件夹中含有的目录,files为当前遍历的文件夹中所包含的文件名,一般将root和dirs组合或root和files组合使用 ,分别得到当前文件夹以及各级子文件夹所包含的目录,和当前文件夹以及各级子文件夹所包含的文件的目录,例如遍历如下图所示的文件夹:
import os
i=1
for (root, dirs, files) in os.walk(".", topdown=True):
print("----------------------------------------",i)
i+=1
print(root)
for name in files:
print(os.path.join(root, name))
得到的输出如下:
import os
i=1
for (root, dirs, files) in os.walk(".", topdown=True):
print("----------------------------------------",i)
i+=1
print(root)
for name in dirs:
print(os.path.join(root, name))
得到的结果如下:
---------------------------------------- 1
.
.\.ipynb_checkpoints
.\mnist_digits_images
---------------------------------------- 2
.\.ipynb_checkpoints
---------------------------------------- 3
.\mnist_digits_images
.\mnist_digits_images\0
.\mnist_digits_images\1
.\mnist_digits_images\2
.\mnist_digits_images\3
.\mnist_digits_images\4
.\mnist_digits_images\5
.\mnist_digits_images\6
.\mnist_digits_images\7
.\mnist_digits_images\8
.\mnist_digits_images\9
---------------------------------------- 4
.\mnist_digits_images\0
---------------------------------------- 5
.\mnist_digits_images\1
---------------------------------------- 6
.\mnist_digits_images\2
---------------------------------------- 7
.\mnist_digits_images\3
---------------------------------------- 8
.\mnist_digits_images\4
---------------------------------------- 9
.\mnist_digits_images\5
---------------------------------------- 10
.\mnist_digits_images\6
---------------------------------------- 11
.\mnist_digits_images\7
---------------------------------------- 12
.\mnist_digits_images\8
---------------------------------------- 13
.\mnist_digits_images\9