1

1 つの telnet 接続を確立したいのですが、自分が書き込んだり読んだりした内容を端末で見たくありません。例えば

tn = telnetlib.Telnet(host)
tn.write(command.encode('ascii') + b"\n")
time.sleep(0.1)
ret = True if b'iconstorage' in self.tn.read_until(b'iconstorage') else False
.
.
.

何も見たくないのに受け取る

    Telnet(host): send b'command\n'
    Telnet(host): recv b'\xff\xfd\x01\xff\xfd\x1f\xff\xfb\x01\xff\xfb\x03\r\r\nls\r\n~ # ls\r\n\x1b[1;34mbin\x1b[0m         '
    Telnet(host): IAC DO 1
    Telnet(host): IAC DO 31
    Telnet(host): IAC WILL 1
    Telnet(host): IAC WILL 3

.
.
.

それを避けることは可能ですか?前もって感謝します。

4

1 に答える 1

1

Telnetクラスのそのインスタンスでデバッグ モードを有効にした場合にのみ、そのようなことが表示されるはずです。

デバッグ モードはデフォルトでオフになっているため、変更しない限りtelnetlib.py、質問に投稿したコード ブロックでその出力を取得する方法はありません。

いずれにせよ、明示的に無効にすることができます...

tn = telnetlib.Telnet()
tn.set_debug_level(0)
tn.open(host)
tn.write(command.encode('ascii') + b"\n")
# etc.
于 2013-06-13T19:00:12.970 に答える