我有一个文本文件
00:47:12: start interaction
00:47:18: End interaction
00:47:20: Start interaction
00:47:23: End interaction
00:47:25: Start interaction
00:47:28: End interaction
00:47:29: Start interaction
00:47:31: End interaction
我想从文件中获取时间戳值,比如00:47:12:和下一个立即值00:47:18:,并找出本例中6秒的值之间的时间差,然后作为输出打印。希望能给我一些建议。我试图实现获取秒值的第一部分,但我被困在这里。在
代码:
^{pr2}$第一个re.findall
打印
47:12
47:18
所以考虑使用相同的方法输出它,只得到最后一部分,在这个例子中是12
和{
我想要我的输出
First interaction : 6 seconds
Second interaction : 3 seconds
Third interaction : 3 seconds
等等
您可以使用
datetime
模块这样做如果您的文件是这样的:
此处代码:
^{pr2}$要处理空行:
如果要获取最后一个元素,可以在regex中使用
look-behind
:然后将其转换为
int
,然后计算差值!在编辑:由于您也可以检查空行,因此您需要使用
^{pr2}$if
:另一种方法是拆分行并将字符串时间转换为时间:
演示:
如果源文件的格式一致,即每对行的内容都是
start / end
组,那么这就可以了。它甚至可以解释空白行。在结果:
^{pr2}$相关问题 更多 >
编程相关推荐