2010-11-01 152 views
1

如果滿足某些條件,我想從源代碼中提取一個語句塊(函數)。 e.g在下面的代碼片段,我想提取功能方法2()和它的所有語句到另一個文件analyis從模塊/類中提取方法塊

class MyClass: 
    def __init__(self): 
     pass 
    def method1(self): 
     pass 
    def method2(self): 
     statement1 
     statement2 
     ... 
    def method2(self): 
     print 'xyz' 

如何做到這一點任何想法?

回答

4

使用inspect.getsource

import inspect 

class MyClass: 
    def __init__(self): 
     pass 
    def method1(self): 
     pass 
    def method2(self): 
     a = 1 
    def method2(self): 
     print 'xyz' 

print inspect.getsource(MyClass.method2) 
+0

佑,很容易!謝謝!! – json 2010-11-01 17:30:14