所以我创建了一个记录器,可以记录到文件和控制台。然而,我需要调用子进程来运行其他Python文件,但问题是,即使我已经在Python文件中实现了日志记录,控制台和文件也只有在子进程完成后才会填充日志消息。我希望在子进程期间能够将日志记录到控制台,即我能够在运行其他文件时看到输出。
有什么想法吗?或者是否有另一种在Python内运行Python文件的方法?
我的子进程函数:
有什么想法吗?或者是否有另一种在Python内运行Python文件的方法?
我的子进程函数:
def _run_cmd(args_list):
"""
run linux commands
"""
# import subprocess
print('Running system command: {0}'.format(' '.join(args_list)))
proc = subprocess.Popen(args_list, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
s_output, s_err = proc.communicate()
s_return = proc.returncode
return s_return, s_output, s_err
我调用子进程的地方:
try:
s_return, s_output, s_err = _run_cmd(["python", abs_path])
if s_err:
finish_fail(config, logger)
except Exception as e:
logger.error("error", str(e))
abs_path
是我想要运行的文件所在的位置。
importlib
。 - Bryce Ramgovind