個人的なメモ

めもめも.

例のやつ

data.txt

___xxx__0.0001__xxx_xxxstart1xxx__
___xxx__0.0002__xxx_xxxxxxxxxxx__
___xxx__0.0005__xxx_xxxxxxxxxxx__
___xxx__0.0007__xxx_xxxxxxxxxxx__
___xxx__0.0010__xxx_xxxxxxend1xx__
___xxx__0.0011__xxx_xxxstart2xxx__
___xxx__0.0012__xxx_xxxxxxxxxxx__
___xxx__0.0011__xxx_xxxstart3xxx__
___xxx__0.0017__xxx_xxxxxxxxxxx__
___xxx__0.0020__xxx_xxxxxxend2xx__
___xxx__0.0025__xxx_xxend3xxxxxx__
___xxx__0.0030__xxx_xxxxxxxxxxx__

hoge.py

#!/usr/local/bin/python3
# coding: utf-8

import re

MAX_NO = 100

if __name__ == "__main__":

    # ファイルを開く
    data = open("data.txt", "r")
    data = data.readlines()

    # 開始時間、終了時間、処理時間を定義
    start_time = [-1 for i in range(MAX_NO)]
    end_time = [-1 for i in range(MAX_NO)]
    ret_time = [-1 for i in range(MAX_NO)]

    i = 0

    # 入力データ出力
    for line in data:
        print(line, end="")
    print()
    
    
    for line in data:
        # start, endの文字位置取得
        index_start = line.find("start")
        index_end =  line.find("end")

        # start, end番号取得
        index_time = re.findall(r'[0-9]+', line[21:32])

        # start文字列が含まれる
        if(index_start != -1):
            # start直後の数字を取得
            index_time = (int((index_time[0])))
            # start時刻を記録
            start_time[index_time] = float(line[8:14])

        # end文字列が含まれる
        elif(index_end != -1):
            # end直後の数字を取得
            index_time = (int((index_time[0])))
            # end時刻を記録
            end_time[index_time] = float(line[8:14])
        
        i = i+1

    # end - start時刻を計算
    for i in range(MAX_NO):
        ret_time[i] = end_time[i] - start_time[i]

    print(start_time)
    print(end_time)
    print(ret_time)

出力結果

[-1, 0.0001, 0.0011, 0.0011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
[-1, 0.001, 0.002, 0.0025, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
[0, 0.0009, 0.0009, 0.0014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]