【发布时间】:2018-11-19 20:24:04
【问题描述】:
我遇到了一个让我头疼的严重问题。
我有一个具有不同测量值的传感器的日志文件,它们都出现在子字符串 '\x02' 和 '\x03' 之间。但这里开始我的问题。我如何能够将子字符串之间的所有值放入一个新列表中。由于有许多测量值,而不仅仅是一个,它应该提供与 '\x02' 和 '\x03' 一样多的列表。
为了让您快速了解日志文件在我将其读入 python 后的外观:
['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']
我确实尝试了很多(搜索子字符串,搜索索引等..)并且无法帮助自己,我期待您的建议。
谢谢你
编辑1:
我需要 \x02 和 \x03 语句之间的单独列表。例如使用:
['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03 \x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']
所以第一个列表应该看起来像'list1= [sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1'] 和第二个类似。我需要一个 for 循环,但我无法想象如何实现它..
【问题讨论】:
-
可以分享一下你试过的代码吗?
-
with open(file) as f: content = f.readlines() sub ='\x02' new = ("\n".join(s for s in content if sub.lower() in s.lower()))举个例子
标签: python string list find substring