国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python自動格式化json文件的方法

python自動格式化json文件的方法

2019-11-27 15:18Xsank Python

這篇文章主要介紹了python自動格式化json文件的方法,可實現將json文件格式化的功能,非常具有實用價值,需要的朋友可以參考下

本文實例講述了python自動格式化json文件的方法。分享給大家供大家參考。具體如下:

這里主要實現將代碼混亂的json文件格式化。

還有一小堆python常用算法代碼

完整實例代碼點擊此處本站下載

  1. class JsonFormatter: 
  2.   def __init__(self,intend=4,name=""): 
  3.     self.name=name 
  4.     self.intend=intend 
  5.     self.stack=[] 
  6.     self.obj=None 
  7.     self.source=self.get_source(name) 
  8.     self.prepare() 
  9.   @staticmethod 
  10.   def json_str(s): 
  11.     return '"'+s+'"' 
  12.   @staticmethod 
  13.   def get_source(name): 
  14.     with open(name,'r') as f: 
  15.       return ''.join(f.read().split()) 
  16.   def prepare(self): 
  17.     try
  18.       self.obj=eval(self.source) 
  19.     except: 
  20.       raise Exception('Invalid json string!'
  21.   def line_intend(self,level=0): 
  22.     return '\n'+' '*self.intend*level 
  23.   def parse_dict(self,obj=None,intend_level=0): 
  24.     self.stack.append(self.line_intend(intend_level)+'{'
  25.     intend_level+=1 
  26.     for key,value in obj.items(): 
  27.       key=self.json_str(str(key)) 
  28.       self.stack.append(self.line_intend(intend_level)+key+':'
  29.       self.parse(value,intend_level) 
  30.       self.stack.append(','
  31.     self.stack.append(self.line_intend(intend_level-1)+'}'
  32.   def parse_list(self,obj=None,intend_level=0): 
  33.     self.stack.append(self.line_intend(intend_level)+'['
  34.     intend_level+=1 
  35.     for item in obj: 
  36.       self.parse(item,intend_level) 
  37.       self.stack.append(','
  38.     self.stack.append(self.line_intend(intend_level-1)+']'
  39.   def parse(self,obj,intend_level=0): 
  40.     if obj is None: 
  41.       self.stack.append('null'
  42.     elif obj is True: 
  43.       self.stack.append('true'
  44.     elif obj is False: 
  45.       self.stack.append('false'
  46.     elif isinstance(obj,(int,long,float)): 
  47.       self.stack.append(str(obj)) 
  48.     elif isinstance(obj,str): 
  49.       self.stack.append(self.json_str(obj)) 
  50.     elif isinstance(obj,(list,tuple)): 
  51.       self.parse_list(obj,intend_level) 
  52.     elif isinstance(obj,dict): 
  53.       self.parse_dict(obj,intend_level) 
  54.     else
  55.       raise Exception('Invalid json type %s!' % obj) 
  56.   def render(self): 
  57.     self.parse(self.obj,0) 
  58.     res_file='good'+self.name 
  59.     res=''.join(self.stack) 
  60.     with open(res_file,'w') as f: 
  61.       f.write(res) 
  62.     print res 
  63. if __name__=="__main__"
  64.   jf=JsonFormatter(name="json.txt"
  65.   jf.render() 

所述對大家的Python程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区毛片 | 午夜视频免费在线观看 | 亚洲免费观看视频网站 | 亚洲一区中文字幕在线观看 | 欧美精品91 | 国产欧美日本 | 久久99国产精一区二区三区 | 精品综合99久久久久久www | 高清国产一区 | 国产精品毛片一区二区 | 欧美第一视频 | 综合色久 | 欧美另类专区 | 午夜国产精品视频 | 成年人免费在线观看网站 | 亚洲成人激情在线 | 久久国产亚洲视频 | 久久久久久免费毛片精品 | 91麻豆精品国产91久久久更新时间 | 性色综合 | 国产精品精品 | 伊人网电影 | av在线日韩| 国产成人精品一区二区三区四区 | 日韩精品久久 | 久久免费视频观看 | 日本天堂在线 | 手机黄网www8xcn | 精品久久国产老人久久综合 | 97久久久 | 激情久久av一区av二区av三区 | 秋霞av国产精品一区 | 91中文字幕网 | 欧美狠狠操 | 91欧美激情一区二区三区成人 | 亚洲国产日韩一区 | 午夜成人免费视频 | 玖玖精品视频 | 亚洲欧洲精品成人久久奇米网 | 久久综合电影 | 午夜精品视频 |