我目前正在使用Python开发一个简单的应用程序,可以连接到服务器。目前,它是单线程的(因为当前不需要多线程)。
然而,出于调试、维护等方面的考虑,我也希望能够通过stdin拥有REPL。
如果可能的话,我该如何做?我需要注意什么吗?我是否需要创建一个单独的线程来处理它?
然而,出于调试、维护等方面的考虑,我也希望能够通过stdin拥有REPL。
如果可能的话,我该如何做?我需要注意什么吗?我是否需要创建一个单独的线程来处理它?
你需要采用非阻塞或使用线程。
我个人会使用Twisted进行并发处理,它还提供了易于集成的REPL协议。
还有rfoo。从README中可以看到:
rfoo包中包含rconsole,它是一个远程Python控制台工具, 具有自动完成功能,可用于检查和修改正在运行的脚本的命名空间。
要在脚本中激活,请执行以下步骤:
from rfoo.utils import rconsole
rconsole.spawn_server()
$ rconsole
安全提示:
使用spawn_server()启动的rconsole监听器将接受任何本地连接,因此在共享主机或类似环境中使用可能存在安全风险!