I\'m running a script that executes a number of executables by using
subprocess.call(cmdArgs,stdout=outf, stderr=errf)
when outf
You could use something like this: https://github.com/waszil/subpiper
In your callbacks you can do whatever you like, log, write to file, print, etc. It also supports non-blocking mode.
from subpiper import subpiper
def my_stdout_callback(line: str):
print(f'STDOUT: {line}')
def my_stderr_callback(line: str):
print(f'STDERR: {line}')
my_additional_path_list = [r'c:\important_location']
retcode = subpiper(cmd='echo magic',
stdout_callback=my_stdout_callback,
stderr_callback=my_stderr_callback,
add_path_list=my_additional_path_list)