os.walk()返回一个三元组(root, dirname, filenames)。
文件结构如下:
E:.
│ d1.txt
│ d2.txt
│ d3.txt
│
├─b
│ b1.txt
│ b2.txt
│ b3.txt
│
└─c
c1.txt
c2.txt
c3.txt
import os
# 获得root下的所有文件
def get_files(root):
#root 'E:\\各科作业\\a'
file_list = []
for parent, dirname, filenames in os.walk(root):
#parent 'E:\\各科作业\\a'
#dirname ['b', 'c']
#filenames ['d1.txt', 'd2.txt', 'd3.txt']
for filename in filenames:
print(os.path.join(parent, filename))
import os
def get_files_list(dir):
'''
实现遍历dir目录下,所有文件(包含子文件夹的文件)
:param dir:指定文件夹目录
:return:包含所有文件的列表->list
'''
# parent:父目录, filenames:该目录下所有文件夹,filenames:该目录下的文件名
files_list = []
for parent, dirnames, filenames in os.walk(dir): # os.walk返回一个三元组(根 孩子文件夹 孩子文件)
for filename in filenames:
# print("parent is: " + parent)
# print("filename is: " + filename)
# print(os.path.join(parent, filename)) # 输出rootdir路径下所有文件(包含子文件)信息
curr_file = parent.split(os.sep)[-1] #当前文件名
files_list.append(os.path.join(curr_file, filename))
return files_list