我想存储一个JSON结构,其中包含我当前正在处理的项目和文件。文件结构如下所示:
|-project1
|--sequence1
|----file1.ext
|----file2.ext
|-project2
|--sequence1
|----file1.ext
|----file2.ext
|-project3
|--sequence3
|----file1.ext
|----file2.ext
JSON版本如下所示:
data = [
{
type: "folder",
name: "project1",
path: "/project1",
children: [
{
type: "folder",
name: "sequence1",
path: "/project1/sequence1",
children: [
{
type: "file",
name: "file1.ext",
path: "/project1/sequence1/file1.ext"
} , {
type: "file",
name: "file2.ext",
path: "/project1/sequence1/file2.ext"
...etc
}
]
}
]
}
]
是否可以使用Python将这种结构呈现到实际的目录和文件?(它可以是空文件)。另一方面,我想构建一个遍历现有目录的函数,返回相似的JSON代码。
这应该很容易使用递归函数和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(full_path):
dct['type'] = 'file'
elif os.path.isdir(full_path):
dct['type'] = 'folder'
dct['children'] = dir_to_list(full_path, path=path + name + os.path.pathsep)
data.append(dct)
return data
未经测试
然后,您可以将json.dump
其保存为文件或json.dumps
字符串。。。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句