我在multiprocessing
下使用Pool
来做一些事情。在Python中一次处理一个输出
def my_func(...):
#Different processes can take different time
print a, b, C#Value that I calculated above. (includes 2 new-lines)
有些情况下,一个进程的a,b,c值不能一起打印。有没有办法避免这种情况?任何人都可以解释这里发生了什么以及如何避免它?
我的理解是,如果我删除打印中的所有换行符,并且只保留一个换行符,它应该可以解决问题。 (问题是,它每次都不可重现,所以我仍在测试东西)。
有没有一种方法,我可以采取sys.stdout
专门为一个过程,然后释放它,而我打印的东西STDOUT
?
如何先简单将它们连接起来?像'''.join([a,b,c])'然后打印结果字符串。 – Igonato
@lgonato,问题是包含换行符的a,b和c的值。这不会解决它,对吧? –