Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- import sys
- import re
- __author__ = "Seiji Hiraki"
- __copyright__ = "Copyright (C) 2019 Seiji Hiraki"
- __license__ = "GPLv3"
- __version__ = "1.0.0"
- def check_lineformat_is_time(line):
- # matching
- if re.match('.*\]: \[[0-9]{7}\.[0-9]{3}\].*', line):
- # slice time number
- time = re.findall('[0-9]{7}\.[0-9]{3}', line)
- return True, float(time[0])
- return False, 0
- def check_target_line(line, old_line, old_time):
- ret, time = check_lineformat_is_time(line)
- if ret:
- return ret, time
- else:
- if old_line != "":
- return True, old_time
- else:
- return ret, time
- def sort_order_by_time(org_lines):
- lines_target = []
- lines_sorted = []
- old_line = ""
- old_time = 0
- #get target lines
- for line in org_lines:
- ret, time = check_target_line(line, old_line, old_time)
- if ret:
- lines_target.append([time, line])
- old_line = line
- old_time = time
- # sort!
- lines_sorted = sorted(lines_target)
- return lines_sorted
- def main():
- argv = sys.argv
- if len(argv) < 2:
- print("usage: python this_script.py target_filename")
- exit()
- with open(argv[-1]) as f:
- lines = f.readlines()
- lines_sorted = sort_order_by_time(lines)
- for l in lines_sorted:
- print(l[1].rstrip("\n"))
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement