该问题旨在扩大 stackoverflow 上已通过主题“回答的问题的范围”python 中列出目录树结构? https://stackoverflow.com/a/59109706/".
目标是形成一个直观地表示目录树的字符串列表,有分支机构.
但输入不是有效的目录路径(如已回答的主题中所示),
追求的是产生相同的行为作为“路径文件列表”作为输入。
自然,该函数需要是递归的以适应任何深度的文件。
Exemple
input:
['main_folder\\file01.txt',
'main_folder\\file02.txt',
'main_folder\\folder_sub1\\file03.txt',
'main_folder\\folder_sub1\\file04.txt',
'main_folder\\folder_sub1\\file05.txt',
'main_folder\\folder_sub1\\folder_sub1-1\\file06.txt',
'main_folder\\folder_sub1\\folder_sub1-1\\file07.txt',
'main_folder\\folder_sub1\\folder_sub1-1\\file08.txt',
'main_folder\\folder_sub2\\file09.txt',
'main_folder\\folder_sub2\\file10.txt',
'main_folder\\folder_sub2\\file11.txt']
output:
├── file01.txt
├── file02.txt
├── folder_sub1
│ ├── file03.txt
│ ├── file04.txt
│ ├── file05.txt
│ └── folder_sub1-1
│ ├── file06.txt
│ ├── file07.txt
│ └── file08.txt
└── folder_sub2
├── file09.txt
├── file10.txt
└── file11.txt
将文件路径列表转换为表示目录结构的嵌套字典已在主题“中得到解答Python 将路径转换为字典 https://stackoverflow.com/a/67441080”。
有了这个输出:
{'main_folder': {'file01.txt': 'txt',
'file02.txt': 'txt',
'folder_sub1': {'file03.txt': 'txt',
'file04.txt': 'txt',
'file05.txt': 'txt',
'folder_sub1-1': {'file06.txt': 'txt',
'file07.txt': 'txt',
'file08.txt': 'txt'}},
'folder_sub2': {'file09.txt': 'txt',
'file10.txt': 'txt',
'file11.txt': 'txt'}}}
但是用分支生成漂亮的布局仍然没有解决。