Python:带有交互式Python shell的Twisted应用

1 投票
2 回答
758 浏览
提问于 2025-04-18 06:25

有没有可能写一个使用Twisted框架的应用程序,让它打开一个可以互动的命令行,比如用来调整通过Twisted协议层提供的业务对象?

我现在遇到的问题是,reactor.run()会让应用程序停下来,而IPython.embed()只有在反应器(reactor)结束后才会运行。

2 个回答

2

... 与此同时,我找到了我问题的答案:http://twistedmatrix.com/documents/current/core/howto/threading.html

def interact():
   import IPython
   IPython.embed()

reactor.callInThread(interact)
reactor.run()
2

除非你特别需要ipython里的一些额外功能,否则你真的应该看看manhole(twistedmatrix的示例代码)。

这个工具可以让你访问一个在twisted反应器中运行的python交互式命令行。通常,你是通过telnet或ssh来访问这个命令行的,但如果你想发挥创意,也可以用其他任何方式连接上去。

撰写回答