from yaml import safe_load from io import open from threading import Thread from subprocess import run from time import sleep def module_thread(cmd, refresh, pre, post): while True: print(pre, end='') cmd_output = run(cmd, shell=True, capture_output=True, text=True).stdout print(cmd_output.strip(), end='') print(post) sleep(refresh/1000) with open("./testing_config.yml", 'r', encoding='utf8') as file: config_file = safe_load(file) modules = config_file['bar']['modules'] for module in modules: cmd = modules[module]['command'] refresh = modules[module]['refresh'] x = Thread(target=module_thread, args=(cmd, refresh, '', '')) x.start()