首先:对不起我的英文!
我试图编写一个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 :(得分:0)
虽然我没有经验,但我认为这应该给你输出。 创建一个多行字符串变量,名称为" rr"在这种情况下,运行此代码 并将所有文件文本作为多行字符串放入其中
import re
rr="""All your input string here"""
print(len(re.findall(r'for(.*):(.*)',rr,re.M)))