对脚本文件执行分析

Performing analytics on a script file

我正在和一些朋友一起学习分析,最近我遇到了一个让我很苦恼的问题。我得到了一个大的(大约 17000 行)VB.net 脚本(当他使用这个脚本时),我应该在其中将一个 sub 与 Hashtags 配对。

代码示例如下:

Sub NewEPU(bLog)

arrList= Glo_arrMR_E_Base
arrList= Filter(arrList,"E#[None]",FALSE,0)
arrList2= Glo_arrMR_A_Base
'deactivated: incorrect  SB21042016'
'arrList2= Filter(arrList2,"A#[Owned]",FALSE,0)
'arrList2= Filter(arrList2,"A#[Outstanding]",FALSE,0)

For each strMR_E in arrList
    For each strMR_A in arrList2

            HS.NoInput "E#" & strMR_E & ".A#" & strMR_A & ".V#[None]"
    Next
Next
End Sub

所以基本上,我的新代码应该通过这个子 (NewEPU) 和 return 这个子有 E#、A# 和 V#。我认为的伪脚本是:

  <read files> 
  <search for '*#'>
     <If found>
          <Search 'sub' before & read name>
          <Search 'sub' after & read name> 
     < If not found> 
          <Do nothing> 

我正在考虑处理 Python,但 NLTK 正在划分 subs 而无助于创建上面的逻辑。有谁知道如何解决这个问题?是否有更好的工具或更好的语言来做到这一点?

我找到了解决问题的方法。

首先我用枚举检查结束语句行: End = [i for i, s in enumerate(script) if 'End Sub' in s]

随后在拆分字符串上搜索 'Sub' 单词的行,因为 sub 后面跟着函数名称,因为 'End Sub' 后面没有任何内容: id_Sub = [i for i, s in enumerate(script) if 'Sub' in s.split()]

我从那里搜索 # 并检索行。来自 DataFrame

的简单比较