我有一些代码如下:
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
,预期为,
或)
。
因此,问题可能不在所提供的代码中,而是在其他地方。查看错误中显示的行。也许你忘了在其他地方关闭一些单报价'