在Python中将JSON呈现为目录结构

2024-04-19 07:06:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想存储一个JSON结构,它保存我当前正在处理的项目和文件。文件结构如下所示:

|-project1
|--sequence1
|----file1.ext
|----file2.ext
|-project2
|--sequence1
|----file1.ext
|----file2.ext
|-project3
|--sequence3
|----file1.ext
|----file2.ext

JSON版本如下所示:

^{pr2}$

是否可以使用Python将此结构呈现为实际的目录和文件?(可以是空文件)。另一方面,我希望构建一个遍历现有目录的函数,返回类似的JSON代码。在


Tags: 文件项目版本目录json结构file1ext
2条回答

如果您碰巧使用基于Unix的系统,可以使用“tree”命令

$ tree -Jd . > folderTemplate.json

或者来自Python:

^{pr2}$

然后用Python将其转换回目录结构就很简单了。 也许这会有帮助:https://github.com/tmdag/makedirtree

使用递归函数和os模块中的一些优点来创建字典应该很容易…:

import os

def dir_to_list(dirname, path=os.path.pathsep):
    data = []
    for name in os.listdir(dirname):
        dct = {}
        dct['name'] = name
        dct['path'] = path + name

        full_path = os.path.join(dirname, name)
        if os.path.isfile(fullpath):
            dct['type'] = 'file'
        elif os.path.isdir(fullpath):
            dct['type'] = 'folder'
            dct['children'] = dir_to_list(full_path, path=path + name + os.path.pathsep)
    return data

未测试

然后你就可以json.dump它到一个文件或者json.dumps它到一个字符串。在

相关问题 更多 >