34 lines
653 B
Python
34 lines
653 B
Python
import binascii
|
|
|
|
|
|
class Analyzer:
|
|
def __init__(self):
|
|
self.stats = dict()
|
|
|
|
def consume(self, tag, data):
|
|
if tag == "stdin":
|
|
return
|
|
|
|
first_byte = binascii.unhexlify(data)[0]
|
|
self.stats[first_byte] = self.stats.get(first_byte, 0) + 1
|
|
|
|
|
|
def run(filename):
|
|
analyzer = Analyzer()
|
|
|
|
with open(filename, "r") as f:
|
|
for line in f.readlines():
|
|
tag, data = line.rstrip("\n").split(" ", 1)
|
|
analyzer.consume(tag, data)
|
|
|
|
for k, v in analyzer.stats.items():
|
|
print(f"{k}: {v}")
|
|
|
|
return analyzer
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
|
|
run(sys.argv[1])
|