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