#!/usr/bin/python3 from os import listdir from os.path import isdir, isfile from subprocess import Popen, PIPE, CalledProcessError from time import time for dir in [x for x in sorted(listdir('.')) if isdir(x)]: file = dir + '/' + dir + '.py' input = dir + '/input.txt' if isfile(file) and isfile(input): print('--------------------------------') print(dir, ':', sep='') start_time = time() with Popen(["python3", file], stdout=PIPE, bufsize=1, universal_newlines=True) as p: for b in p.stdout: print(b, end='') end_time = time() if p.returncode != 0: raise CalledProcessError(p.returncode, p.args) print(f'Runtime: {end_time-start_time:.2f} s')