Python中文
首页
教程
问答
标签
搜索
登录
注册
Python文件夹结构和JSON的子级
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个脚本,可以将任何给定的文件夹结构转换为JSON、JSTree兼容的结构。但是,子文件夹都分组在同一级别的子文件夹下。所以文件夹中的文件夹被标记为根目录下的一个级别。如何在JSON中维护根-子-子关系?在</p> <pre><code>import os, sys, json def all_dirs_with_subdirs(path, subdirs): try: path = os.path.abspath(path) result = [] for root, dirs, files in os.walk(path): exclude = "Archive", "Test" dirs[:] = [d for d in dirs if d not in exclude] if all(subdir in dirs for subdir in subdirs): result.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(root) return result except WindowsError: pass def get_directory_listing(path): try: output = {} output["text"] = path.decode('latin1') output["type"] = "directory" output["children"] = all_dirs_with_subdirs("G:\TEST", ('Maps', 'Temp')) return output except WindowsError: pass with open(r'G:\JSONData.json', 'w+') as f: listing = get_directory_listing("G:\TEST") json.dump(listing, f) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以通过以下方式获得CWD的直系子女:</p> <pre><code>next(os.walk('.'))[1] </code></pre> <p>使用该表达式,可以编写如下递归遍历函数:</p> ^{pr2}$ <p>然后您需要创建一个<code>combine_as_json()</code>函数,该函数将subdir结果聚合到您选择的编码/表示中。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Python中两个字典的交集
4 回答
python中两个字符串上的异或操作数?
2 回答
Python中两个字符串中的类似句子
8 回答
Python中两个字符串之间的Hamming距离
4 回答
python中两个字符串之间的匹配模式
8 回答
python中两个字符串之间的按位或
3 回答
python中两个字符串之间的数据(字节)切片
6 回答
python中两个字符串之间的模式
6 回答
python中两个字符串作为子字符串的区别
10 回答
Python中两个字符串元组的比较
4 回答
Python中两个字符串列表中的公共字符串
8 回答
python中两个字符串的Anagram测试
4 回答
Python中两个字符串的正则匹配
5 回答
python中两个字符串的笛卡尔乘积
4 回答
Python中两个字符串相似性的比较
2 回答
python中两个字符串语义相似度的求法
5 回答
Python中两个字符置换成固定长度的字符串,每个字符的数目相等
2 回答
Python中两个对数方程之间的插值和平滑数据
8 回答
Python中两个对象之间的And/Or运算符
9 回答
python中两个嵌套字典中相似键的和值
9 回答