我正在开发一个python类,它使用我们自己开发的一些其他类/模块。在
我们在每个模块中使用一些打印来向用户提示一些信息(日志记录也用于获取更详细的信息)。 问题是当(子)模块被一个“主”类使用时,打印可能会变得太多,并隐藏了基本的主控信息。在我当前的应用程序中,“master”是一个遗传算法,它使用一个多处理子类(运行案例),这个子类还使用其他一些子类(运行非python代码、定义初始化数据等)。每个班级都会打印与该班级相关的信息,而我只想显示硕士生的信息。在
我试图改变方向系统标准输出以及系统标准去伐木。见下文我对一个简化例子的尝试。在
调用模块
from multiprocessing import Process
def send2disp(text) :
print(text)
return
def send2disp_mp(text) :
workers = [Process(target=send2disp,args=(text+str(pi),)) for pi in range(2)]
for ti in workers :
ti.start()
for ti in workers :
ti.join()
if __name__ == '__main__':
pass
主脚本
^{pr2}$通过主脚本,我定义了一个日志文件,并将stdout/stderr重定向到该文件。然后我调用子模块的两个函数:
如何处理重定向标准输出和多处理? 提前谢谢。在
目前没有回答
相关问题 更多 >
编程相关推荐