通过网络的Python交互式环境
我想在网络上实现一个完整的Python交互式命令行(就像安装Python时自带的那个解释器)。有没有简单的方法可以通过网络套接字在远程计算机上获得一个交互式的Python命令行?我不能使用SSH,也不在乎安全性。最好是只用Python自带的模块。
补充说明:我不希望这个交互式命令行在客户端创建一个窗口。它不应该在计算机上可见。
2 个回答
1
Twisted 包含一个 Python REPL 服务器,支持通过 telnet 访问(如果你能安装 SSH 客户端的话,也支持 SSH)。
$ twistd -n manhole --telnetPort tcp:50023
2014-04-06 11:14:01-0400 Log opened.
2014-04-06 11:14:01-0400 twistd 12.0.0 (/usr/bin/python 2.7.3) starting up.
2014-04-06 11:14:01-0400 reactor class: twisted.internet.pollreactor.PollReactor.
2014-04-06 11:14:01-0400 ServerFactory starting on 50023
2014-04-06 11:14:01-0400 Starting factory <twisted.internet.protocol.ServerFactory instance at 0x2836c20>
2
你可以简单地使用netcat这个工具:
python | nc -l -p 9090 &
然后用telnet连接到它。
telnet $HOSTNAME 9090