如何将文件路径转换为treeview?

现在我在python中有一些文件具有以下文件路径格式:

a/b/c/d/e/file1 a/b/c/d/e/file2 a/f/g/h/i/file3 a/f/g/h/i/file4 

现在,当我在Python中获取这些路径时,我想将其转换为第三方jquery插件(例如fancytree,jqxTree)可以读取的JSON格式,以便将其转换为树视图。 也许还有其他更简单的方法,请建议。 谢谢!

从Python中,您可以按如下方式生成所需的JSON(请注意,如果您只是在整行中提供JSON,则不需要缩进和排序,但它们使输出可读以进行调试):

 import collections import json myfiles = ''' a/b/c/d/e/file1 a/b/c/d/e/file2 a/f/g/h/i/file3 a/f/g/h/i/file4 ''' # Convert to a list myfiles = myfiles.split() def recursive_dict(): """ This function returns a defaultdict() object that will always return new defaultdict() objects as the values for any non-existent dict keys. Those new defaultdict() objects will likewise return new defaultdict() objects as the values for non-existent keys, ad infinitum. """ return collections.defaultdict(recursive_dict) def insert_file(mydict, fname): for part in fname.split('/'): mydict = mydict[part] # If you want to record that this was a terminal, # you can do something like this, too: # mydict[None] = True topdict = recursive_dict() for fname in myfiles: insert_file(topdict, fname) print(json.dumps(topdict, sort_keys=True, indent=4, separators=(',', ': '))) 

此代码生成以下输出:

 { "a": { "b": { "c": { "d": { "e": { "file1": {}, "file2": {} } } } }, "f": { "g": { "h": { "i": { "file3": {}, "file4": {} } } } } } }