weibo_json

本文介绍了一个使用Python编写的代码美化工具,该工具可以处理包含大括号和中括号的文本文件,通过调整缩进和换行来提高代码的可读性。此工具适用于需要对配置文件或代码进行格式化的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值