我的目标是使用很少的代码片段来检测文件。我希望通过一个场景来解释我所面临的特殊挑战。
#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
我的搜索算法显示在上面的场景中。