我想从数据文件中提取一些信息。以下是我在数据文件中的格式:
44 2.463181s> (G) GET_NBI: 0x00002aaa ecc00e90 <- (4,0x00002aab 4c000c00) (256 bytes)
从这一行开始,我想提取256,这是最后一个数字,4是
中的第一个数字(4,0x00002aab 4c000c00)
请您推荐一些对我的案例有用的功能吗?
答案 0 :(得分:3)
您应该使用str.split()
。
它的作用是在每个有空格的地方拆分字符串,所以你会得到一个字符串列表,如下所示:
n = '44 2.463181s> (G) GET_NBI: 0x00002aaa ecc00e90 <- (4,0x00002aab 4c000c00) (256 bytes)'
o = n.split()
print o
输出:
['44', '2.463181s>', '(G)', 'GET_NBI:', '0x00002aaa', 'ecc00e90', '<-', '(4,0x00002aab', '4c000c00)', '(256', 'bytes)']
然后简单地得到倒数第二个索引,如o[-2] -> '(256'
删除额外的括号:'(256'[1:] -> '256'
,如果您愿意,请将其转换为整数。 int('256') -> 256
答案 1 :(得分:2)
你也可以使用正则表达式,在这种情况下可能会更清楚。
import re
txt = "44 2.463181s> (G) GET_NBI: 0x00002aaa ecc00e90 <- (4,0x00002aab 4c000c00) (256 bytes)"
results = re.findall(r"\((\d+)", txt)
# ["4", "256"]