博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
weibo_json
阅读量:5138 次
发布时间:2019-06-13

本文共 1484 字,大约阅读时间需要 4 分钟。

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()

转载于:https://www.cnblogs.com/haoqingchuan/archive/2013/03/01/2938933.html

你可能感兴趣的文章
由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想
查看>>
uva 1416 Warfare And Logistics
查看>>
欲则不达
查看>>
盒子游戏
查看>>
OpenJudgeP1.10.08:病人排队__(刷题)_水题
查看>>
观察者模式
查看>>
Hadoop分布式文件系统中架构和设计要点汇总
查看>>
cout和printf
查看>>
UVa 10088 - Trees on My Island (pick定理)
查看>>
#C++PrimerPlus# Chapter11_Exersice4_mytimeV4
查看>>
iOS8 针对开发者所拥有的新特性汇总如下
查看>>
Jmeter + Grafana搭建实时监控可视化
查看>>
uCGUI字符串显示过程分析和uCGUI字库的组建
查看>>
h5唤起app
查看>>
SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
查看>>
[转]vs2010编译金山代码
查看>>
数学图形之Boy surface
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
3.浏览器检测
查看>>
01: socket模块
查看>>