extraxt文本并使用python将其保存在变量中
我有一个包含调试信息的文本文件,我感兴趣的是这样的行extraxt文本并使用python将其保存在变量中,python,parsing,graphviz,Python,Parsing,Graphviz,我有一个包含调试信息的文本文件,我感兴趣的是这样的行 __kmp_task_alloc(exit): T#0 created task 0xf67980 parent=0xe59580 __kmp_task_alloc(exit): T#2 created task 0x7f5b30100900 parent=0xf67980 每次基于关键字“created task”创建任务时,我都需要保存T#0、T#2或任何T#编号 我不熟悉Python,但因为我必须使用graphviz,所以我正在使用它
__kmp_task_alloc(exit): T#0 created task 0xf67980 parent=0xe59580
__kmp_task_alloc(exit): T#2 created task 0x7f5b30100900 parent=0xf67980
每次基于关键字“created task”创建任务时,我都需要保存T#0、T#2或任何T#编号
我不熟悉Python,但因为我必须使用graphviz,所以我正在使用它
下面是一些例子,我试着这样做
file = open("fib5.txt","r")
lines = file.readlines()
file.close()
i=0
#lock for pattern
for line in lines:
#print (line)
m = re.search('T#(.+?)created task', line)
if m:
found = m.group(1)
print (found)
即使文本文件中有44次点击,我也总是得到结果1。我的打印未包含在for循环中
file = open("fib5.txt","r")
lines = file.readlines()
file.close()
i=0
#lock for pattern
for line in lines:
#print (line)
m = re.search('T#(.+?)created task', line)
if m:
found = m.group(1)
print (found)
我的打印不包括在for循环中
file = open("fib5.txt","r")
lines = file.readlines()
file.close()
i=0
#lock for pattern
for line in lines:
#print (line)
m = re.search('T#(.+?)created task', line)
if m:
found = m.group(1)
print (found)
我已修改了您的代码:
with open('fib5.txt', 'r') as f:
lines = f.read()
m = re.findall('T#(.+?)created task', lines)
for x in m:
print(x)
使用带有关键字的打开文件是一种很好的做法
您不需要逐行扫描文件。在re模块中有一个函数findall,它返回模式的所有匹配项 我已经修改了您的代码:
with open('fib5.txt', 'r') as f:
lines = f.read()
m = re.findall('T#(.+?)created task', lines)
for x in m:
print(x)
使用带有关键字的打开文件是一种很好的做法
您不需要逐行扫描文件。在re模块中有一个函数findall,它返回模式的所有匹配项 你想参加第5组,但你应该找第1组。是的,但那是为了探索,我会解决这个问题,谢谢!我认为这是你的问题,因为这是一个问题,你没有具体说明。到底出了什么问题?它总是打印1,即使文本文件有44个Hitsys,因为您的
打印
在for
循环之外,并且它正在打印找到的最后一个值。您正在尝试选择第5组,但您应该寻找第1组。是的,但这是为了探索,我会解决这个问题,谢谢!我认为这是你的问题,因为这是一个问题,你没有具体说明。实际上出了什么问题?即使文本文件有44个Hitsys,它也总是打印1,因为您的打印
在for
循环之外,并且它正在打印找到的的最后一个值。