格式化多线程输出的输出

Formatting output of multithreading output(格式化多线程输出的输出)

本文介绍了格式化多线程输出的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

from multiprocessing import Pool
from functools import partial

def run_test_function(x, fun_arg2, fun_arg3, fun_arg4):
    # this is an example
    for a in fun_arg2:
        for b in fun_arg3:
            print(x)
            print(a)
            print(b)
            print(fun_arg4)

if __name__ == "__main__":
    arg1 = 1,2,3,4
    arg2 = "hello"
    arg3 = "world"
    arg4 = "!"

    process_func = partial(run_test_function, fun_arg2=arg2, fun_arg3=arg3, fun_arg4=arg4)

    my_pool = Pool(8)
    my_pool.map(process_func, arg1)

对于此代码,我得到的输出如下:

~/test $ python2.7 so10.py
1 
  hello 
     world 
         !
2 
  hello 
     world 
          !
3 
   hello 
      world 
           !
4 
     hello 
         world 
              !
此代码的问题是,当此输出具有长字符串时,此时输出是不可理解的。到目前为止,我希望输出如下:

1 
hello 
world 
!
2 
hello 
world 
!
3 
hello 
world 
!
4 
hello 
world 
!

而且拿到输出后,我的CLI挂起了,你能给我一些输入吗?

推荐答案

当CR/LF解释中断时,有时会发生这种情况。 您始终可以在代码的末尾添加一行:

import os
os.system('stty sane')

这篇关于格式化多线程输出的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:格式化多线程输出的输出