我想创建一个适用于任意目录树的完整信息的数据结构,通过目录路径解决的。我设想是这样的:
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 “/家庭/用户名”} { “文件”} []落得
然后,我可以在顶部开始向下迭代中添加,因为我觉得他们的目录和文件,并保持完整的目录树,并能上下文切换到任意目录中的子树基础上,对导航生成网页在网页中。
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'