【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格式数据

