0

我的目标是检测一个包含少量代码片段的文件。当我想用一个场景来解释仪器时,我面临着一个特别的挑战。

 #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 

我的搜索算法如上述场景所示。

4

0 回答 0