python遍历子目录_python遍历目录下所有子层级的文件

目录结构多层级情况下,怎么遍历所有子层级的文件。

os.listdir()

返回指定目录下的单层级的文件和文件夹名字列表。

dirs = os.listdir(rootDir)

print(dirs) #返回值['.DS_Store', '1', '4.json', '3', '2']中,1、2、3是文件夹,4.json是文件

os.walk()

是一个目录遍历器,每次迭代都返回一个层级的root、dirs、files。相当于递归调用os.listdir()。遍历给定目录下的所有子层级的目录,总共有多少个子层级目录就遍历多少次,每次遍历返回当前层级的目录root、当前层级的所有子目录dirs、当前层级的所有文件files。

用法:

1、给定目录下所有的files

for root,dirs,files in os.walk(rootDir):

for file in files:

print(os.path.join(root,file))

2、给定目录下所有的dirs

for root,dirs,files in os.walk(rootDir):

for dir in dirs:

print(os.path.join(root, dir))

3、给定目录下所有的root和dirs和files(无重复)

for root,dirs,files in os.walk(rootDir):

for file in files:

print(os.path.join(root,file))

for dir in dirs:

print(os.path.join(root, dir))

4、给定目录下所有的root和dirs和files(root和dirs会有重复)

for root,dirs,files in os.walk(rootDir):

print(root)

for file in files:

print(os.path.join(root,file))

for dir in dirs:

print(os.path.join(root, dir))

你可能感兴趣的:(python遍历子目录)