下面是开始的代码。你知道吗
#!/usr/bin/python
import glob
import re
path = '/home/lhco/f1/*.cut'
files=glob.glob(path)
i=0
for i in range(len(files)):
x = files[i]
h = x
i += 1
f = open(h)
for line in f:
x = re.findall("([0-9\.[0-9][e][+-][0-9]+)",line)
pb = map(float, x)
if "ESC_00" in line: print pb
现在,输出是目录中3个文件的3个数字列表。我想做的是尝试从第一个列表中获取每个第一个元素,第二个等,然后将其添加到下一个列表的第一个元素,第二个等。我尝试在“pb”和sum和zip上再次使用map,但似乎没有多大帮助。 初始输出如下所示:
[0.08]
[0.009]
[0.0]
[0.0]
[0.0]
[0.0]
[0.03]
[0.005]
[0.0]
[0.0]
[0.0]
[0.0]
[0.08]
[0.008]
[0.0]
[0.0]
[0.0]
[0.0]
是否可以将所有6个数字的第一个元素相加?我需要试试元组吗?你知道吗
文件示例:
0 EVENTS SURVIVE AUXILIARY CUTS WITH 0.000e+00 PB RESIDUAL CROSS SECTION
EVENT SELECTION EFFICIENCY IS 100.000 PERCENT
CUT_KEY SURVIVE PB_AREA %_LOCAL %_TALLY
ESC_001 38 2.3e-02 007.317 007.317
ESC_002 9 5.5e-03 076.316 078.049
ESC_003 0 0.0e+00 100.000 100.000
ESC_004 0 0.0e+00 000.000 100.000
ESC_005 0 0.0e+00 000.000 100.000
ESC_006 0 0.0e+00 000.000 100.000
这将为每个文件构建
result
列表和results
列表,然后将它们压缩成answer
,这是一个元组列表:此外,正则表达式中还有一个输入错误(请参见regex101):
([0-9\.[0-9][e][+-][0-9]+)
解析为( [0-9\.[0-9] [e] [+-] [0-9]+ )
当我认为你想要:
( [0-9] \. [0-9] [e] [+-] [0-9]+ )
可以简化为(regex101):
相关问题 更多 >
编程相关推荐