70 lines
1.2 KiB
Python
Executable File
70 lines
1.2 KiB
Python
Executable File
#!/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()
|