首页 >后端开发 >Python教程 >如何使用 os.walk() 在 Python 中创建可视化结构化目录树?

如何使用 os.walk() 在 Python 中创建可视化结构化目录树?

Patricia Arquette
Patricia Arquette原创
2024-11-08 22:06:02731浏览

How can I use os.walk() to create a visually structured directory tree in Python?

在 Python 中使用 os.walk() 进行递归目录遍历

递归地导航目录并列出其内容是 Python 编程中的常见任务。 os.walk() 函数提供了一种高效的方法来实现这一目标。

原始代码

以下代码演示了如何使用 os.walk() 进行导航从根目录到所有子目录并打印其内容:

#!/usr/bin/python

import os
import fnmatch

for root, dir, files in os.walk("."):
        print(root)
        print("")
        for items in fnmatch.filter(files, "*"):
                print("..." + items)
        print("")

这段代码有效地列出了当前目录及其子目录的内容,但它不区分目录和文件。

所需的输出

但是,所需的输出需要将目录显示为子文件夹,将文件显示为这些文件夹中的项目:

A
---a.txt
---b.txt
---B
------c.out

修订的代码

为了达到预期的输出,以下修改后的代码使用 os.path.basename() 来获取目录路径:

#!/usr/bin/python

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)

此代码首先使用 os.sep 将路径分割为确定目录级别。然后,它打印目录名称,并带有与其深度相对应的多个破折号,后面是该目录中的文件列表,每个级别都有一个附加破折号。

以上是如何使用 os.walk() 在 Python 中创建可视化结构化目录树?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn