在Python中递归输入目录的每个子目录

时间:2018-11-26 05:03:54

标签: python

我是Python的新手,我正在尝试编写一个函数,该函数将能够在文件夹中输入所有文件(如果它是文件夹,它应该打印其名称,如果它应该放在其中并打印文件),如果该文件夹中有一个文件夹,它也应该进入该文件夹中,直到没有剩余任何东西为止。到目前为止,我还没有找到深入的方法。有办法递归地做到这一点吗?由于某些原因,我应如何继续执行我的代码?未输入所有子目录。预先感谢

def list_files(startpath, d):
for root, dirs, files in os.walk(startpath):
    for f in files:
        print (f)
    for di in dirs:
        print (di)
        list_files(di, d + 1)

list_files(path, 0)

1 个答案:

答案 0 :(得分:-1)

也许您可以检查这个答案:

Using os.walk() to recursively traverse directories in Python

采用了os.walk()这样的方法。

import os

# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
    path = root.split(os.sep)
print((len(path) - 1) * '---', os.path.basename(root))
    for file in files:
        print(len(path) * '---', file)