2017-02-20 39 views
0

首先:对我的英语感到抱歉!在其他Python脚本中识别循环

我想写一个python脚本,可以识别其他python脚本中的任何循环。

import re 

with open('boite_a_fonctions_v3_1.py', 'r') as f: 
    text=f.read() 
    a = text.split(" ") 
    #print (a) 

    loop = re.compile(r'for"(.*):\t(.*)"') 

    def find_loop(a): 
     c = [] 
     for line in a: 
      c += loop.findall(line) 
     print (c) 

    #find_loop(a) 

我没有结果(这已经让我开心,没有错误!!)。任何人有任何建议?

代码“boite_a_fonctions_v3_1.py”的一部分:

fidr.seek(0) 
reg = compile(fmt.get_motif()) 
id = 0 
for line in fidr : 
    for seg in reg.findall(line) : 
     if id == tokenId : 
      mot, etq = seg 
      return mot, etq 
     else : 
      id += 1 
return None 

def get_tokens(fid, fmt, tokenIds): 
    if isinstance(tokenIds, int): 
     try : 
      return get_token(fid,fmt, tokenIds) 
     except : 
      return None 
    else: 
     n = None 
     for id in tokenIds: 
      try: 
       n = len(get_token(fid,fmt, id)) 
       break 
      except: 
       pass 
     if not n : 
      return None 

     ret = list() 
     for i in range(n) : 
      tmp = list() 
      for id in tokenIds : 
       try: 
        tmp.append(get_token(fid,fmt,id)[i]) 
       except: 
        pass 
      ret.append(tmp) 
     return ret 

回答

0

虽然我没有经历过,但我想这应该给你的输出。在这种情况下 请名称为“RR”多行字符串变量并运行此代码 并把所有的文件中的文本在它作为一个多行字符串

import re 
    rr="""All your input string here""" 
    print(len(re.findall(r'for(.*):(.*)',rr,re.M)))