我正在对 python 应用程序进行逆向工程。通过它我将通过在应用程序内动态检测代码来观察行为。问题是我需要在正确的缩进级别插入代码。
例如,让我们考虑我将要检测的一段代码:
class A:
def move(self,name):
name=self.name
print name
def move1(self):
print 'dude'
现在对于上面的示例代码,我将检测进入和退出日志记录,检测代码应该如下所示
enter code class A:
def move(self,name):
print 'Entry move class='A''
name=self.name
print name
Print'Exit move class='A''
def move1(self):
print 'Entry move1 class='A''
print 'dude'
print 'Exit move class='A''
这是我在检测代码时需要的,而不是我得到以下信息:
enter code class A:
def move(self,name):
print 'Entry move class='A''
name=self.name
print name
print'Exit move class='A''
def move1(self):
print 'Entry move1 class='A''
print 'dude'
print'Exit move1 class='A''
因为我正在编写一个脚本,它插入下一行并且不知道 python 代码的缩进格式。
无论如何我可以在插入时自动调整缩进,或者我应该需要知道下一行中字符的索引并在字符串中插入空格然后插入。