Python中目录树的数据结构

时间:2019-02-02 00:56:17

标签: python list dictionary nested

我想创建一个适用于任意目录树的完整信息的数据结构,通过目录路径解决的。我设想这样的事情:

dirtree[ "/home/user" : { subdirs: [ "bin", "Desktop" ] , "files" : [ ".profile" , ".login" ]

或以列表形式具有可以轻松寻址的初始点:

dirtree[0][ "/home/user" : { subdirs: [ "bin", "Desktop" ] , "files" : [ ".profile" , ".login" ]

dirtree[1][ "/home/user/bin" : { subdirs: [ "Python" ] , "files" : [ "script1.py" , "script2.py" ]

这意味着列表中的项目将是一个由每个目录的完整路径索引的字典,该目录包含两个字典,子目录和文件,这两个目录均包含每个目录中的文件和子目录。

我本来以为外部包装器可以是一个列表,所以在第0项中有目录树根的起点,但是我不确定这是必须的。遍历会更快。

这是用于保存Web服务器的所有信息

我得到的是列表的字典,但是如何将其嵌套在目录全路径的另一个dist中?

>>> dir={ "subdirs":[] , "files":[] }
>>> dir
{'subdirs': [], 'files': []}

顺便说一下,我是从python开始的。

我想以类似     dirtree {“ / home / username”} {“ subdirs”} []     dirtree {“ / home / username”} {“ files”} []

然后,我可以从顶部开始,并在找到目录和文件时逐步向下添加目录和文件,并保留完整目录子树,并能够将上下文切换到子树中的任何目录以基于以下内容生成网页以便在网页中导航。

1 个答案:

答案 0 :(得分:0)

double percentage = (frequency[calcCount] / 36000.0) * 100;
printf("Sum = %d; Frequency = %d; Percentage = %.2f \n", calcCount, frequency[calcCount], percentage);
                                                ^^^
                                        Notice this to print the double