zoukankan      html  css  js  c++  java
  • weibo_json

    f_in = open("in.txt", "r")
    f_out = open("out.txt", "w")
    INDENT = 4
    brace_count = 0#number of {
    bracket_count=0
    write_for_brakcet = False
    for line in f_in:
        for i in range(len(line)):
            if write_for_brakcet:
                if line[i]==']':
                    write_for_brakcet = False
                f_out.write(line[i])
                continue
            if line[i]=='{':
                brace_count = brace_count + 1
                f_out.write('{\n'+' '*INDENT*(brace_count+bracket_count))            
            elif line[i]=='[':           
                if line[i+1]=='{':
                    bracket_count = bracket_count + 1
                    f_out.write('[\n'+' '*INDENT*(brace_count+bracket_count))
                else:
                    write_for_brakcet = True
                    f_out.write('[')
            elif line[i]=='}':
                brace_count = brace_count - 1
                if i<len(line)-1 and line[i+1]==',':
                    f_out.write('}')
                elif i<len(line)-1 and line[i+1]==']':
                    f_out.write('}\n'+' '*INDENT*(brace_count+bracket_count-1))
                else:
                    f_out.write('}\n'+' '*INDENT*(brace_count+bracket_count))
            elif line[i]==']':
                bracket_count = bracket_count - 1
                if i<len(line)-1 and line[i+1]=='}':
                    f_out.write(']\n'+' '*INDENT*(brace_count+bracket_count-1))
                else:
                    f_out.write(']\n'+' '*INDENT*(brace_count+bracket_count))
            elif line[i]==',':
                if line[i+1]=='}':
                    f_out.write(','+' '*INDENT*(brace_count+bracket_count))
                else:
                    f_out.write(',')
            elif line[i]==' ' and line[i-1]==',':
                f_out.write('\n'+' '*INDENT*(brace_count+bracket_count))
            elif i<len(line)-1 and line[i+1]=='}':
                f_out.write(line[i]+'\n'+' '*INDENT*(brace_count+bracket_count-1))
            else:
                f_out.write(line[i])
    f_in.close()
    f_out.close()
  • 相关阅读:
    工作经验和学历孰优孰劣
    关于c语言文件的基本操作1
    从头学起Expert C Program 1
    栈和堆——c语言中
    浅谈进程和线程的区别
    通用试题库组卷策略算法
    marquee标记用法及在asp.net中的应用(来自于网上)
    在ASP.NET页面中显示自动生成图片的两种方法
    《ASP.NET高级编程》电子版下载地址
    从中央气象台抓取天气预报
  • 原文地址:https://www.cnblogs.com/haoqingchuan/p/2938933.html
Copyright © 2011-2022 走看看