Average results
This commit is contained in:
67
avg.py
Executable file
67
avg.py
Executable file
@@ -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()
|
||||||
|
|
||||||
Reference in New Issue
Block a user