数据结构目录树在Python

问题描述 投票:-1回答:1

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

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项的目录树的根的一个起点,但我不知道这是一个必须具备的。这将是更快地遍历。

这是为了容纳所有的信息网络服务器

我得到尽可能列表的字典,但我怎么窝那的目录全路径的另一个DIST里面?

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

我与蟒蛇开始,顺便说一句。

我想是这样dirtree { “/家庭/用户名”} { “子目录”} [] {dirtree “/家庭/用户名”} { “文件”} []落得

然后,我可以在顶部开始向下迭代中添加,因为我觉得他们的目录和文件,并保持完整的目录树,并能上下文切换到任意目录中的子树基础上,对导航生成网页在网页中。

python list dictionary nested
1个回答
0
投票
 dirkey="/"
 subdirs=['d1', 'd2', 'd3', 'd4', 'd5', 'd6']
 files=['f1', 'f2', 'f3', 'f4', 'f5', 'f6']

 dir={ dirkey : { "subdirlist" : subdirs , "filelist" : files } }

 dir
 {'/': {'subdirlist': ['d1', 'd2', 'd3', 'd4', 'd5', 'd6'], 'filelist': ['f1', 'f2', 'f3', 'f4', 'f5', 'f6']}}

 dir["/"]
 {'/': {'subdirlist': ['d1', 'd2', 'd3', 'd4', 'd5', 'd6'], 'filelist': ['f1', 'f2', 'f3', 'f4', 'f5', 'f6']}}

 dir["/"]["subdirlist"]
 ['d1', 'd2', 'd3', 'd4', 'd5', 'd6']

 dir["/"]["filelist"]
 ['f1', 'f2', 'f3', 'f4', 'f5', 'f6']

 dir["/"]["filelist"][1]
 'f2'

 dir["/"]["filelist"][-1]
 'f6'
© www.soinside.com 2019 - 2024. All rights reserved.