一、前言
在github浏览时,不时地能看到README页面中的项目文件目录树状图,将项目文件有序排列,如同Windows文件资源管理器左侧的列表。
它的好处是:赏心悦目、一目了然。当项目有各种文件夹时,无需进入各个文件夹,即可快速了解:项目全部文件的位置分布。
于是,打算使用Python作为工具,参考网络资料,实现一下这种效果。
大致浏览并运行了CSDN中的相关Python实现代码,发现要么需要安装、导入第三方库,不太方便;要么实现的效果不太符合预期(如下图,在已出现转折的下方,仍有线条出现)。
二、预期效果
三、实现
1. 代码
参考资料:
(1)使用全局变量
#! /usr/bin/env python3
# -*- coding: UTF-8 -*-
"""显示目录树状图"""
import os
# site存储出现转折的层级号
site = []
def generate_file_tree_global(path, depth):
"""
递归打印文件目录树状图(使用全局变量)
:param path: 根目录路径
:param depth: 根目录、文件所在的层级号
:return: None
"""
global site
filenames_list = os.listdir(path)
if len(filenames_list) < 1:
return
# 本级目录最后一个文件名
last_filename = filenames_list[-1]
for item in filenames_list:
string_list