在Python子进程中记录日志
所以我创建了一个日志记录器,它同时记录到文件和控制台。但是,我需要调用subprocess来运行其他python文件,但问题是控制台和文件仅在子流程完成后才填充日志消息,即使我已经在python文件中实现了日志记录。我希望它在子流程期间登录到控制台。也就是说,我能够在运行其他文件时看到输出 有什么想法吗?或者是否有其他方法在python中运行python文件 我的子流程功能:在Python子进程中记录日志,python,subprocess,Python,Subprocess,所以我创建了一个日志记录器,它同时记录到文件和控制台。但是,我需要调用subprocess来运行其他python文件,但问题是控制台和文件仅在子流程完成后才填充日志消息,即使我已经在python文件中实现了日志记录。我希望它在子流程期间登录到控制台。也就是说,我能够在运行其他文件时看到输出 有什么想法吗?或者是否有其他方法在python中运行python文件 我的子流程功能: def _run_cmd(args_list): """ run linux commands
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\u path
是我要运行的文件的位置
谢谢。谢谢您提供的解决方案,我选择了选项2,选择了
importlib