私は、pexpectを使用してリモートマシンを制御する非常に簡単なプログラムを作成しようとしています。しかし、リモートシステムは送信されたコマンドに反応しません。ここでシステムがpexpectコマンドに応答していません
は、ソースコードである:ここで
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import pexpect
import sys
child = pexpect.spawn('telnet 192.168.2.81 24')
res = child.expect('/ # ')
print(res)
res = child.sendline('touch foo')
print(res)
が出力されますので、
0
10
、限り私は理解して、コマンドが正常に実行されますが、ターゲット・システムには結果がありません、つまりfooのファイルは作成されません。
誰かが私を助けることができますか?
ありがとうございました! 'child.sendline( 'exit')'と 'child.expect(pexpect.EOF)'が働いていました。 'child.logfile_read = sys.stdout'はどうでしょうか?' TypeError:write()引数はバイトではなくstrでなければなりませんが、それが働いても何の利益も見られません。それを無視し、ファイルの終わりに関連する推奨事項のみを使用することができます。 –
が見つかりました:https://stackoverflow.com/questions/35330424/expect-in-python3-is-throwing-error-as-must-be-in-str-not-bytes。私の答えを更新しました。 – pynexj