代码缩进的简易实现(Python实现)

125 篇文章 0 订阅
4 篇文章 0 订阅

在Android源码中,通过AIDL生成的I**.java文件里没有缩进,比如IPowerManager.java

也许Google的本意是这些代码不是给人看的。

10
 public static abstract class Stub extends android.os.Binder implements android.os.IPowerManager
11
 {
12
 private static final java.lang.String DESCRIPTOR = "android.os.IPowerManager";
Construct the stub at attach it to the interface.
13
 
14
 public Stub()
15
 {
16
 this.attachInterface(this);
17
 }


但有时候我们还是需要查看下这些code

现在考虑如何实现代码缩进,传统和正式的实现需要用到编译原理中的语义分析处理。

这里我们进行一种简易的实现,通过花括号{}的个数设置缩进的尺寸

使用一个变量保持缩进数值,遇到{ 就加1, 遇到} 就减1

然后按行重写文件即可。


这里采用Python来进行实现

def main():
	icount = 0
	file = "f.txt"
	outfile = open("out.txt", 'w')
	infile = open(file, 'r')
	for line in infile:
		if line.find("}") >= 0:
			icount -= 1

		outfile.write(preStr(icount) + line)

		if line.find("{") >= 0:
			icount += 1

		#outfile.write(preStr(icount) + line)
	infile.close()
	outfile.close()

def preStr(i):
	ret = ""
	if i <= 0:
		return ""

	for e in range(i):
		ret += "	"

	return ret

main()

	


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值