1. 使用背景
一些情况下我们想要生成某个工程文件夹的文件目录,写在文档里面逐一说明每个文件的功能,这是如果能自动生成文件树就是一件很方便的事。
2. 代码
在如下代码中,只需要给定path目录就可以。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| from pathlib import Path
tree_str = '' def generate_tree(pathname, n=0): global tree_str if pathname.is_file(): tree_str += ' |' * n + '-' * 4 + pathname.name + '\n' elif pathname.is_dir(): tree_str += ' |' * n + '-' * 4 + \ str(pathname.relative_to(pathname.parent)) + '\\' + '\n' for cp in pathname.iterdir(): generate_tree(cp, n + 1) tree_str += ' |' * n + '\n'
if __name__ == '__main__': path = '.' generate_tree(Path(path), 0) print(tree_str)
|
参考