import os
work_dir = "data/"
for parent, dirnames, filenames in os.walk(work_dir):
for filename in filenames:
file_path = os.path.join(parent, filename) # 得到文件的绝对/相对路径
重点在 os.walk(work_dir) 这个函数上,它返回3个参数:
parent - 该文件夹路径(即work_dir),这里输入的参数既可以是绝对路径,也可以是相对路径
dirnames - list,work_dir下的文件夹名称
filenames - list,work_dir下的文件名称
值得注意的是,这里的for循环其实标志os.walk 不只会返回仅仅一个文件夹下的文件,而是会迭代返回该文件夹下子文件的内容,比如work_dir底下还有两个子文件夹,那么这里for循环就会返回3个结果,第一个parent为work_dir,第二个parent为work_dir下的子文件夹1,第三个parent为work_dir下的子文件夹2。
下面我们看个例子:
假设 当前文件夹的结构 如下: