Python 使用re.findall查找字符串但存储文件中的int值

Python 使用re.findall查找字符串但存储文件中的int值,python,Python,我有一个文件log.txt,该文件包含以下行,如下所示 Sett S=1 Stage Tmsec; NP=81 NC1=3 我有一个python代码,可以以列表的形式获取Sett S、NP、NC1的值 我提出了一个名为re.findall的术语,但我能够使用re.findall获得准确的值,但无法将值存储为int而不是string 当我尝试将列表转换为整数列表时,它会抛出一个错误,称为'str'error 目前无法找到解决方案。使用正则表达式: Ex: import re data = """

我有一个文件log.txt,该文件包含以下行,如下所示

Sett S=1
Stage Tmsec;
NP=81
NC1=3
我有一个python代码,可以以列表的形式获取Sett S、NP、NC1的值

我提出了一个名为re.findall的术语,但我能够使用re.findall获得准确的值,但无法将值存储为int而不是string

当我尝试将列表转换为整数列表时,它会抛出一个错误,称为'str'error


目前无法找到解决方案。

使用正则表达式

Ex:

import re
data = """Sett S=1
Stage Tmsec;
NP=81
NC1=3
Sett S=2
Stage Tmsec;
NP=82
NC1=4
Sett S=3
Stage Tmsec;
NP=83
NC1=5"""


Sett_S = re.findall("Sett S=(.*)", data)
NP = re.findall("NP=(.*)", data)
NC1 = re.findall("NC1=(.*)", data)

for i in zip( Sett_S, NP, NC1 ):
    print(i) 
('1', '81', '3')
('2', '82', '4')
('3', '83', '5')
输出:

import re
data = """Sett S=1
Stage Tmsec;
NP=81
NC1=3
Sett S=2
Stage Tmsec;
NP=82
NC1=4
Sett S=3
Stage Tmsec;
NP=83
NC1=5"""


Sett_S = re.findall("Sett S=(.*)", data)
NP = re.findall("NP=(.*)", data)
NC1 = re.findall("NC1=(.*)", data)

for i in zip( Sett_S, NP, NC1 ):
    print(i) 
('1', '81', '3')
('2', '82', '4')
('3', '83', '5')

也许如果行打印中的
=
line.split('=')[1]
?这更像是带有编译器构造的正则表达式的工作当我阅读列表时,我注意到列表的数据类型是字符串而不是int。如果包含数据类型的列表是int而不是str,那将非常有用。
print(list(map(int,I))
Yep,不幸的是,log.txt文件以GB为单位,多次使用类似的字符串。循环次数太多,以任何方式降低负载。