生成文件树

你知唔知我系靓仔

生成文件树

这个程序将递归地遍历指定的文件夹及其子文件夹,生成一个文件树,并以文本形式打印出来。

文件树生成器

文件结构

file_tree_generator/
├── main.py
├── README.md
└── example_folder/
    ├── subfolder1/
    │   └── file1.txt
    └── subfolder2/
        └── file2.txt

main.py

import os

def generate_file_tree(root_folder, prefix=""):
    """
    生成指定文件夹的文件树

    :param root_folder: 要生成文件树的根文件夹路径
    :param prefix: 用于打印的前缀
    """
    if not os.path.isdir(root_folder):
        print(f"错误: {root_folder} 不是一个有效的文件夹路径")
        return

    files = sorted(os.listdir(root_folder))
    for index, filename in enumerate(files):
        file_path = os.path.join(root_folder, filename)
        if index == len(files) - 1:
            connector = "└── "
            new_prefix = prefix + "    "
        else:
            connector = "├── "
            new_prefix = prefix + "│   "

        print(prefix + connector + filename)

        if os.path.isdir(file_path):
            generate_file_tree(file_path, new_prefix)

if __name__ == "__main__":
    folder_to_generate = "example_folder"
    generate_file_tree(folder_to_generate)

运行 main.py 后,输出结果如下:

example_folder
├── subfolder1
│ └── file1.txt
└── subfolder2
└── file2.txt