手机
当前位置:查字典教程网 >脚本专栏 >python >python自动格式化json文件的方法
python自动格式化json文件的方法
摘要:本文实例讲述了python自动格式化json文件的方法。分享给大家供大家参考。具体如下:这里主要实现将代码混乱的json文件格式化。还有一小...

本文实例讲述了python自动格式化json文件的方法。分享给大家供大家参考。具体如下:

这里主要实现将代码混乱的json文件格式化。

还有一小堆python常用算法代码

完整实例代码点击此处本站下载。

class JsonFormatter: def __init__(self,intend=4,name=""): self.name=name self.intend=intend self.stack=[] self.obj=None self.source=self.get_source(name) self.prepare() @staticmethod def json_str(s): return '"'+s+'"' @staticmethod def get_source(name): with open(name,'r') as f: return ''.join(f.read().split()) def prepare(self): try: self.obj=eval(self.source) except: raise Exception('Invalid json string!') def line_intend(self,level=0): return 'n'+' '*self.intend*level def parse_dict(self,obj=None,intend_level=0): self.stack.append(self.line_intend(intend_level)+'{') intend_level+=1 for key,value in obj.items(): key=self.json_str(str(key)) self.stack.append(self.line_intend(intend_level)+key+':') self.parse(value,intend_level) self.stack.append(',') self.stack.append(self.line_intend(intend_level-1)+'}') def parse_list(self,obj=None,intend_level=0): self.stack.append(self.line_intend(intend_level)+'[') intend_level+=1 for item in obj: self.parse(item,intend_level) self.stack.append(',') self.stack.append(self.line_intend(intend_level-1)+']') def parse(self,obj,intend_level=0): if obj is None: self.stack.append('null') elif obj is True: self.stack.append('true') elif obj is False: self.stack.append('false') elif isinstance(obj,(int,long,float)): self.stack.append(str(obj)) elif isinstance(obj,str): self.stack.append(self.json_str(obj)) elif isinstance(obj,(list,tuple)): self.parse_list(obj,intend_level) elif isinstance(obj,dict): self.parse_dict(obj,intend_level) else: raise Exception('Invalid json type %s!' % obj) def render(self): self.parse(self.obj,0) res_file='good'+self.name res=''.join(self.stack) with open(res_file,'w') as f: f.write(res) print res if __name__=="__main__": jf=JsonFormatter(name="json.txt") jf.render()

希望本文所述对大家的Python程序设计有所帮助。

【python自动格式化json文件的方法】相关文章:

python遍历文件夹并删除特定格式文件的示例

python sqlobject(mysql)中文乱码解决方法

python实现跨文件全局变量的方法

python字典多条件排序方法实例

python解析模块(ConfigParser)使用方法

python 数据加密代码

python实现监控linux性能及进程消耗性能的方法

python 文件和路径操作函数小结

Python生成随机数的方法

python实现问号表达式(?)的方法

精品推荐
分类导航