Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使两个功能并行运行,打印输出到不同的行_Python_Multiprocessing - Fatal编程技术网

Python 使两个功能并行运行,打印输出到不同的行

Python 使两个功能并行运行,打印输出到不同的行,python,multiprocessing,Python,Multiprocessing,我正在尝试创建一些函数,这些函数与python中的多处理并行运行。脚本如下所示: from multiprocessing import Process def func1(): for x in range(0,10000000): print(x, end = '\r') def func2(): for x in range(10000000,20000000): print(x, end ='\r') if __name__ ==

我正在尝试创建一些函数,这些函数与python中的多处理并行运行。脚本如下所示:

from multiprocessing import Process
def func1():
    for x in range(0,10000000):
          print(x, end = '\r')
def func2():
    for x in range(10000000,20000000):
          print(x, end ='\r')
if __name__ == '__main__':
  p1 = Process(target=func1)
  p1.start()
  p2 = Process(target=func2)
  p2.start()
  p1.join()
  p2.join()

但是,我运行这个脚本时,func1和func2都会在同一行中覆盖彼此的输出,但不会在单独的行中。有人知道如何解决这个问题吗?

通常在打印时,输出会被缓冲,但如果flush关键字参数为
True
,则流会被强制刷新。这应该会有很大帮助。并且不需要指定结束参数;默认情况下,
print
功能将使用正确的代码生成换行:

打印(x,flush=True)

为什么要使用
\r
?你在windows上运行吗?这可能是个大问题。一些控制台/终端可能有特殊的代码来移动光标,您可以将它们添加到字符串中以将文本移动到预期的位置。但若控制台不使用代码,那个么您就无法解决它。您可以检查或类似modules@drum是的,我正在Windows上运行它。请改为尝试
\r\n
,或者去掉它completely@ArtiomKozyrev我几天前生病了。我正在尝试你的和Booboo methodflush=True不起作用,输出仍然充斥着屏幕