【Python】遍历文件夹生成json格式数据
16 Sep 2013今天下午想研究django,又想大致了解文件目录结构,一直没有来得及细看,便有了想刨根问底的冲动。
用dos的tree来生成django的目录固然方便,但是篇幅太长,看起来很累。
于是想用d3.js来生成可视化的界面。
那就折腾吧。
看了一下d3的demo,需要文件目录的json格式文件。
网上找了好多都没有遍历文件夹来生成json的,索性自己写一个吧。
下边的测试工具为JSONeditor,百度一下就有哦
#!/usr/bin/env python #-*- coding: utf-8 -*- ''' author: yuzhe date: 2013/9/16 blog: http://lazynight.me ''' import json import os root = {} path = 'C:\Users\Flowerowl\Desktop\Django-1.5.4' '''迭代生成目录树,用dict保存''' def createDict(path, root): pathList = os.listdir(path) for i, item in enumerate(pathList): if isDir(getJoinPath(path, item)): path = getJoinPath(path, item) root[item] = {} createDict(path, root[item]) path = '\\'.join(path.split('\\')[:-1]) else: root[item] = item '''合并路径和目录,返回完整路径''' def getJoinPath(path, item): return os.path.join(path, item) '''判断是否为目录''' def isDir(path): if os.path.isdir(path): return True return False '''返回json格式数据''' def getJson(root): return json.dumps(root) createDict(path, root) fjson = getJson(root) fp = open("django.html",'w') fp.write(str(fjson)) fp.close()
项目地址:https://github.com/Flowerowl/pyfolderjson
转载请注明:于哲的博客 » 【Python】遍历文件夹生成json格式数据