在Python REPL中测试异步龙卷风代码

时间:2017-06-03 09:58:43

标签: python asynchronous tornado read-eval-print-loop ioloop

假设我使用Python3龙卷风的异步函数定义了一些函数

@gen.coroutine
def translateSimple(toTranslate, commands):
    proc_in, proc_out = startPipeline(commands)
    yield gen.Task(proc_in.stdin.write, bytes(toTranslate, 'utf-8'))
    proc_in.stdin.close()
    translated = yield gen.Task(proc_out.stdout.read_until_close)
    proc_in.stdout.close()
    return translated.decode('utf-8')

- 这可以作为龙卷风http服务器等的一部分运行良好,但是如何从REPL运行这一个函数(具有REPL块/等待直到它完成,好像它不是异步的)做调试?

1 个答案:

答案 0 :(得分:0)

在我写作时找到它:

tornado.ioloop.IOLoop.instance().run_sync(lambda: translateSimple(text, cmds))