我有执行在线识别的代码。目前,它在最后一行给出错误“ RuntimeError:此事件循环已在运行”。 Anaconda 2019.10,Python 3.7.4
# websockets
async def recognize(url, data):
async with websockets.connect(url) as websocket:
await websocket.send(data)
recognized_text = ""
recognized_text = await websocket.recv()
#print(f"< {recognized_text}")
#print(recognized_text)
return recognized_text
in_file = open(filename1, "rb")
data = in_file.read()
in_file.close()
print(asyncio.get_event_loop().run_until_complete(recognize(url, data)))
在此处建立会话,然后有必要传输数据进行处理并接收识别的文本。 我可以大致想象一个websocket在做什么。建立与服务器的连接,发送数据,然后等待响应。 我不了解异步在这里的工作方式。 我读到(questions / 53248431),现在这行不通,因为我的龙卷风版本> = 5.0,他们建议降低版本,但我不想这样做。 如何正确重写? 请说明其运作方式)
答案 0 :(得分:0)
由于上面的程序/事件没有被杀死,因此您正在得到错误,因为它仍然在运行。
因此,在终端中键入以下命令:
pkill -9 python
然后重新启动程序。
(仅在Linux系统中有效)