如何在python中区分实际代码和字符串以进行检测?

时间:2013-07-17 09:10:55

标签: python parsing scripting instrumentation

我的目标是使用很少的代码片段来检测文件。我希望通过一个场景来解释我所面临的特殊挑战。

 #A.py   
    #start of the code 

    from future import division

    import os
    .....
    ....
    print "from future import division"
    ....

    #end of the code

我将编写一个代码instrumentation.py,我将在#A.py文件的开头编写一些语句。但由于某些原因“来自未来导入部门”的声明应始终首先出现在python文件中。所以对于乐器我将在文件中搜索“来自未来导入部门”的字符串,当我找到它时,我将在该行之后进行测量。以下场景显示了它。

 #A.py   
    #start of the code 

    from future import division
    print " i successfully instrumented"  <------ #inserted code
    import os
    .....
    ....
    print "from future import division"
    ....

    #end of the code

但我得到这样的场景:

   #A.py  

    #start of the code 

    from future import division
    print " i successfully instrumented"  <------ #inserted code
    import os
    .....
    ....
    print "from future import division"
    print " i successfully instrumented"  <------ #inserted code
    ....

    #end of the code

我的搜索算法无法区分实际代码或字符串。我想知道如何区分字符串和实际代码?

#instrumentation.py
#start of the code 
p=open("A.py",'r')
parser=p.readlines()

while(i<len(parser)):
    if("from" and "future" and "import" and "division" in parser[i]):
         # I will insert a code fragment in the i+1 position
....
....

#End of the code 

我的搜索算法显示在上面的场景中。

0 个答案:

没有答案