使用多处理时,输入函数在python中过早结束



我有一些代码如下:

from multiprocessing import Process
def foo():
while True:
f=input('Input: ')
print('Why doesn't this print?')
if __name__=='__main__':    
p1 = Process(target=bruh)
print('this prints')
p1.start()
print('and so does this')

但当运行时,我收到了这个错误:

Traceback (most recent call last):
File "C:Program Files (x86)Python38-32libmultiprocessingprocess.py", line 315, in _bootstrap
self.run()
File "C:Program Files (x86)Python38-32libmultiprocessingprocess.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "C:Users(myUsername)Desktopprogram.py", line 739, in foo
f=input('still running')
EOFError: EOF when reading a line

我相信这是因为进程在到达输入函数时结束,导致它出现字段结束错误,但我不知道。请帮忙!

(使用python 3.8.3(

EOF错误通常是由行末尾的错误引起的,比如缺少括号或类似的错误。尝试将if缩进到函数内部的循环中。

如果这不起作用,也许你写了print('Why doesn't this print?')而不是print("Why doesn't this print?")

此处有一个单引号'doesn't

print('Why doesn't this print?')

尝试通过'逃离它,或者先尝试不使用它:

print('Why does this not print?')

在这种情况下,双引号也可能是一种解决方案。

在我的例子中,PyCharm将此错误解释为SyntaxError: invalid syntax,并将doesn't中的t高亮显示为Unresolved reference,预期为,)

因此,问题可能不在所提供的代码中,而是在其他地方。查看错误中显示的行。也许你忘了在其他地方关闭一些单报价'

相关内容

  • 没有找到相关文章

最新更新