重定向多进程的输出?

2024-06-25 22:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在记录多处理模块中发生的所有事情时遇到了问题

脚本:mainScript.py

import multiprocessing
python_file = A different python file
def main():
    module = __import__(python_file)
    p = multiprocessing.Process(target=getattr(module, 'main'), args=())
    p.start()
    step_timeout = 20
    p.join(step_timeout)

脚本:另一个python文件

import os
def main():
    print('I am a different python script')
    os.system('dir').read()
    os.system("call C:\\test.bat")
    return

我无法记录调用的批处理文件的输出以及os.system(command).read()的结果

我知道你可以通过python脚本记录所有运行的东西,比如

python mainScript.py >> logFile.txt

我可以用多处理输出做这样的事情吗

p = multiprocessing.Process(target=getattr(module, 'main'), args=()) >> logFile.txt

如果是这样,它还会捕获批处理脚本的输出吗

是否可以将我调用的进程中打印的所有内容重定向到主进程


Tags: pyimport脚本osmaindef记录事情