From cdd463d5520da406875c1f2aa7f9b17dc763d67f Mon Sep 17 00:00:00 2001 From: Artur Meski Date: Sat, 7 Apr 2018 20:52:51 +0100 Subject: [PATCH] Average results --- avg.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 avg.py diff --git a/avg.py b/avg.py new file mode 100755 index 0000000..2b70c25 --- /dev/null +++ b/avg.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +import sys +from os import listdir + +def proc_files(files): + + fs = [] + for f in files: + try: + fs.append(open(f, "r")) + except Exception as exct: + print("Failed to read file {:s}".format(f)) + sys.exit(1) + + done = False + result = [] + while not done: + + index = "NONE" + val_sum = 0 + + for f in fs: + try: + line = f.__next__() + except Exception: + done = True + break + + sline = line.split() + + assert(len(sline) == 2) + + index, value = sline + value = float(value) + + val_sum += value + + # print(sline) + + else: + val_avg = val_sum/len(fs) + result.append("{:s}\t{:f}".format(index, val_avg)) + + result.append("") + return result + +def proc_dirs(dirs): + + first_dir = dirs[0] + + for f in listdir(first_dir): + avg_out = proc_files(["{:s}/{:s}".format(d, f) for d in dirs]) + + with open(f, "w") as outfile: + outfile.write("\n".join(avg_out)) + +def main(): + + proc_dirs(sys.argv[1:]) + + # proc_files(sys.argv[1:]) + + +if __name__ == "__main__": + main() +