python 获取指定目录下的目录结构输出json

import os
import xlrd
import datetime
import json
import sys
parent_path = os.path.dirname(sys.path[0])
if parent_path not in sys.path:
    sys.path.append(parent_path)

today = datetime.date.today().strftime("%Y-%m-%d")

def __init__(self):
    pass

def get_json(path, result):
    paths=os.listdir(path)
    for i,item in enumerate(paths):
        sub_path = os.path.join(path, item)
        if os.path.isdir(sub_path):
            result[item] = {}
            get_json(sub_path, result[item])
        else:
            result[item] = item

if __name__ == '__main__':
    path="D:目录"
    reuslts={}
    # get_json(path, reuslts)
    # json_res = json.dumps(reuslts, indent=2)
    # print(json_res)

    res=bianli_dir(path)
    json_res = json.dumps(res, indent=2)
    print("""{"DataInfo":""" + json_res + "}")



import os
import xlrd
import datetime
import json
import sys
parent_path = os.path.dirname(sys.path[0])
if parent_path not in sys.path:
    sys.path.append(parent_path)

today = datetime.date.today().strftime("%Y-%m-%d")

def __init__(self):
    pass


def get_json(path, result):
    paths = os.listdir(path)
    path1 = "D:\目录"
    for i, item in enumerate(paths):
        sub_path = os.path.join(path, item)
        if os.path.isdir(sub_path):
            dicts={"folderName": item, "fullPath": sub_path.replace(path1, "")}
            reuslts.append(dicts)
            get_json(sub_path, result)

if __name__ == '__main__':
    path="D:目录"
    reuslts = []
    get_json(path, reuslts)
    json_res = json.dumps(reuslts, indent=2)
    # print(json_res)

    print("""{"data":"""+json_res+"}")



def bianli_dir(dir):
    p=Path(dir)
    DirTree =[]
    for p in list(p.glob('*')):
        if p.is_file():
            DirTree.append({"fileName":p.name})
        else:
            subdir=[]
            subdir=bianli_dir(os.path.join(dir,p.name));
            DirTree.append({"fileName":p.name,"DraftFolderChild":subdir})
    return DirTree

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值