我有一个文件log.txt该文件有这些行,如下所示
Sett S=1
Stage Tmsec;
NP=81
NC1=3
我有一个python代码,只能以列表的形式获取Sett S,NP,NC1的值。
我提出了一个名为re.findall的术语,但我能够使用re.findall获取确切的值,但不能将值存储为int而不是字符串。
当我尝试将列表转换为整数列表时,会抛出一个错误,表示' str'错误。
到目前为止,无法提出解决方案。答案 0 :(得分:1)
使用正则表达式:
<强>实施例强>
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')
答案 1 :(得分:0)
In [1]: s = '''Sett S=1
...: Stage Tmsec;
...: NP=81
...: NC1=3'''
In [2]: import re
In [8]: m = re.search(r'S=(\d+).*NP=(\d+).*NC1=(\d+)', s, flags=re.S)
In [9]: m.groups()
Out[9]: ('1', '81', '3')
In [10]: m.group(1)
Out[10]: '1'
In [11]: m.group(2)
Out[11]: '81'
In [12]: m.group(3)
Out[12]: '3'