我目前正在用 python 开发一个连接到服务器的简单应用程序。目前,它是单线程的(因为目前不需要多线程)。
但是我想 - 用于调试、维护等也能够通过标准输入进行 REPL。
如果可能的话,我该怎么做?我需要记住什么吗?我需要为它制作一个单独的线程吗?
我目前正在用 python 开发一个连接到服务器的简单应用程序。目前,它是单线程的(因为目前不需要多线程)。
但是我想 - 用于调试、维护等也能够通过标准输入进行 REPL。
如果可能的话,我该怎么做?我需要记住什么吗?我需要为它制作一个单独的线程吗?
您要么需要进行非阻塞,要么使用线程。
我个人会使用 Twisted 进行并发,它还提供了一个易于集成的 REPL 协议。
还有rfoo。从自述文件:
rconsole - 包含在 rfoo 包中的是一个具有自动完成功能的远程 Python 控制台,可用于检查和修改正在运行的脚本的命名空间。
要在脚本中激活,请执行以下操作:
from rfoo.utils import rconsole
rconsole.spawn_server()
要从外壳连接,请执行以下操作:
$ rconsole
安全注意事项:
以 spawn_server() 开始的 rconsole 监听器将接受任何本地连接,因此在共享主机或类似环境中使用可能不安全!
也许这个问题会有所帮助。您可以对其稍作修改以创建自定义的 REPL。