今天学长给大家带来了 Python 实现文件目录关系通过树状图展示。
编写代码
要求:快速将目录下所有子目录的关系用树状图的形式展示。
首先,我们需要先准备好示例文件夹,代码如下:
import os
def create_directory_structure():
"""
创建示例目录结构
"""
school_name = "./tmp/附属小学"
grades = ["一年级", "二年级", "三年级"]
classes_per_grade = 3
# 创建学校目录
os.makedirs(school_name)
# 创建年级目录
for grade in grades:
grade_path = os.path.join(school_name, grade)
os.makedirs(grade_path)
# 创建班级目录
for class_num in range(1, classes_per_grade + 1):
class_path = os.path.join(grade_path, f"班级{class_num}")
os.makedirs(class_path)
# 创建学生成绩表
with open(os.path.join(class_path, "成绩表.txt"), "w", encoding='utf-8') as file:
file.write("学生姓名, 成绩n")
file.write("张三, 90n")
file.write("李四, 85n")
file.write("王五, 95n")
# 创建示例目录结构
create_directory_structure()
运行上诉代码后,我们可以运行以下代码输出文件关系树状图:
import os
def generate_tree(start_path, indent=''):
"""
生成目录结构树
"""
if os.path.isdir(start_path):
print(indent + os.path.basename(start_path))
indent += "│ "
files = sorted(os.listdir(start_path))
for index, file in enumerate(files):
if index == len(files) - 1:
new_indent = indent[:-3] + " "
else:
new_indent = indent
generate_tree(os.path.join(start_path, file), new_indent)
else:
print(indent + "└─ " + os.path.basename(start_path))
# 用法示例
start_directory = "./tmp/附属小学"
generate_tree(start_directory)
运行结果
然后运行该程序,就可以展示所选目录的所有子目录关系树状图,如下图:

结论
通过本文的介绍,你学会了如何使用 Python 快速实现展示所选目录的所有子目录关系树状图。
原文始发于微信公众号(学长工具库):20.Python实现文件目录关系树状图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/271077.html