2
У меня есть этот пример:питон телнет клиента через сокет с автодополнению
# 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)
Он работает, но дискомфортно без завершения Баша.
Как я могу добавить «вкладку» автозаполнение, как это:
[email protected]:~$ pyt <<< (PRESS TAB)
[email protected]:~$ python <<< Auto complete
Команда telnet по умолчанию (например, «telnet XXX.XXX.XXX.XXX») работает с завершением вкладки. Имеет ли эта команда его собственное завершение? – karl
Это потому, что вы находитесь в своей оболочке (bash) при вводе «telnet xxx.xxx ...», но когда вы запустили интерпретатор python, ваш терминал взаимодействует с ним, а не с оболочкой (bash). – Lachezar