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

2024-04-26 20:36:12 发布

您现在位置: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)

Tags: 文件方法函数代码in文件夹forfiles
1条回答
网友
1楼 · 发布于 2024-04-26 20:36:12

也许你可以检查一下这个答案:

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

雇佣os.步行()这样的方法。你知道吗

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)

相关问题 更多 >