python自动检测添加空格问题
问题是这样的,想编个脚本,能自动检测if{}里面语句是否有空两格,有的话不修改,没有就添加空格(例子如下):...
IF
{
IGJLL #有空两格
KDKL #有空两格
}
...
IF
{
IGJLL #没有空两格,需要添加空格
KDKL #没有空两格,需要添加空格
}
执行结果:
...
IF
{
IGJLL
KDKL
}
...
IF
{
IGJLL #执行代码之后,空了两格
KDKL
}
初学菜鸟求助大神 :em14::em14:sed-e '/{/,/}/s/^[ ]*//' -e 's/^\([{}]\)/\1/' file3 回复 1# yhl3692319
有个问题,你的情况中会不会出现{}不匹配、或者if{if{...}}之类的情况? 是要考虑到的,表示情况很复杂啊回复 3# icymirror
回复 4# yhl3692319
你可能需要写一个可以被自己递归调用的函数了,函数头可能是像这个样子。
def CheckAndModifyIndent(content, indent=2)
然后,每当出现空白+IF的单行,就对自己递归调用,把Indent2个2个加上去,直到遇到"}"返回当前级别的调用。
同时,在代码里面对于每行按照indent进行行首空白个数检测(可以考虑正则表达式或者基本字符串方式)。
页:
[1]