私は、竜巻イベントループを使用するアプリケーションからprompt_toolkitを使用しようとしていますが、prompt_toolkitプロンプトをイベントループに追加する正しい方法を見つけることができません。竜巻イベントループからprompt_toolkitを呼び出す方法はありますか?
prompt_toolkitのドキュメントがasyncio(Asyncio Docs)でそれを使用する例があります。
from prompt_toolkit.shortcuts import prompt_async
async def my_coroutine():
while True:
result = await prompt_async('Say something: ', patch_stdout=True)
print('You said: %s' % result)
私はasyncioイベントループからこの作品を作るために管理している:
import asyncio
l = asyncio.get_event_loop()
l.create_task(my_coroutine())
l.run_forever()
Say something: Hello
You said: Hello
しかし、私が持っています竜巻イベントのループからそれを動作させることに失敗しました。私は以下を試しました:
これは、最初のプロンプトを発行しますが、コンソールをブロックするように見えます。
私も試してみました:
IOLoop.current().add_callback(my_coroutine)
IOLoop.current().start()
これは同じことを行いますが、また、エラーメッセージ生成します。
RuntimeWarning: coroutine 'my_coroutine' was never awaited
をそして、私が試してみました:
IOLoop.current().spawn_callback(my_coroutine)
IOLoop.current().start()
私は明らかにここで何かを理解していない。
どのようにこれを行う必要があります誰に光を投げることができますか?
私は以下を使用しています:Python 3.5.0、tornado 4.3。