问题
写多进程程序的时候,在子进程调用的函数内部调用了input函数,提示EOFError: EOF when reading a line,具体如下错误:
抽象出来的代码如下:
#encoding=utf-8
from multiprocessing import Pool,Process
def sub( ):
data = input('-->')
print(data)
if __name__ == "__main__":
p = Process(target=sub, args=())#生成一个进程
p.start()
p.join()
print('done')
原因:
在网上找的原因说是票python中只有主进程才能调用input函数接受键盘输入,子进程是不支持的。没有找到官方的说明,暂且记录一下。