如何通过telnet运行Python程序?
我该怎么做才能让一个Python程序把它的输出和输入都通过远程的telnet客户端来进行呢?
这个程序的功能很简单,就是打印一些文本,然后不断等待用户输入。我希望远程的用户可以使用这个程序,而不需要直接访问命令行。这个程序可以是单线程的,也就是说一次只能有一个用户使用。
4 个回答
4
如果你不需要完整的telnet功能,其实可以直接用一个套接字(socket)。
你可以看看标准Python库里的Socket Server模块。这个模块可以让你轻松写一个程序,监听某个端口,进行输入和输出。
虽然它不支持完整的telnet协议协商,但你可能在做的事情中并不需要这些功能。
5
把这个Python脚本设置成那个用户的默认命令行工具。如果这样不行的话,可以把它放到一个bash脚本里,或者甚至做成一个可执行文件。
你可能需要把它放到 /etc/shells 这个文件夹里(或者类似的地方)。
10
在Unix系统上,你可以使用inetd来实现这个功能。它会帮你处理网络连接的打开,这样你的程序就可以直接使用,不需要额外的修改。