我有这个例子:
# s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# s.settimeout(2)
# connect to remote host via s.connect((host, port))
while 1:
socket_list = [sys.stdin, s]
# Get the list sockets which are readable
read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])
for sock in read_sockets:
#incoming message from remote server
if sock == s:
data = sock.recv(4096)
if not data :
print 'Connection closed'
sys.exit()
else :
#print data
sys.stdout.write(data)
#user entered a message
else :
msg = sys.stdin.readline()
s.send(msg)
它可以工作,但如果没有 bash 完成会让人不舒服。
如何添加“制表符”自动完成,如下所示:
user@test:~$ pyt <<< (PRESS TAB)
user@test:~$ python <<< Auto complete
最佳答案
自动完成功能来自您的 shell 程序(例如 bash),当您启动脚本时它不再可用,因为终端与您的程序交互。
恐怕您将不得不实现自己的完成。
关于python telnet 客户端通过带选项卡完成的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235882/