我是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)
答案 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)