如何用Python3将指定目录及子目录文件转为特定结构JSON文件
实现目录结构转指定格式JSON文件
没问题,我帮你调整代码,实现把指定目录下的子文件夹名作为键、对应文件夹内的文件名列表作为值的JSON文件输出。
实现思路
- 用
os.walk遍历目标目录,定位到每个子文件夹 - 提取子文件夹的名称作为JSON的键,文件夹内的文件名列表作为对应的值
- 使用Python的
json模块将结果写入格式化的JSON文件
完整代码
import os import json path = "F:\\stack\\sample" result = {} for root, dirs, files in os.walk(path): # 跳过根目录本身,只处理子文件夹 if root == path: continue # 获取当前子文件夹的名称作为键 folder_name = os.path.basename(root) # 将当前文件夹内的文件列表存入字典 result[folder_name] = files # 将结果写入sample.json,设置indent参数让格式更清晰 with open("sample.json", "w", encoding="utf-8") as f: json.dump(result, f, indent=2, ensure_ascii=False)
代码说明
os.path.basename(root):从完整路径中提取最后一级的文件夹名称,比如从F:\\stack\\sample\\EXA18902962得到EXA18902962json.dump的indent=2:让JSON文件有缩进,可读性更强ensure_ascii=False:确保文件名如果有非ASCII字符也能正确写入(这里你的文件名都是英文,不加也没问题,但加上更通用)
运行这段代码后,就会在当前脚本目录下生成符合你要求的sample.json文件啦。
内容的提问来源于stack exchange,提问作者hukuto7750
相关产品推荐
相关产品推荐

