1
私はPexpectを使ってリモートファイアウォールと対話しています。インタラクションのすべては大丈夫ですが、私がchild.beforeで出力を取得しようとすると、私は欲しいものが得られません。Pexpectが正しく出力されない
child = pexpect.spawn('ssh [email protected]')
child.sendline(password)
child.expect('>')
child.sendline('set cli pager off')
child.expect('>')
child.send('show system info')
child.expect('>')
child.before
私はchild.before文で取得した出力が次である:これは私のコードです
だから、'CLI設定\ rを\ X1B [Kadminは(アクティブ)名@'
[email protected](active)> set cli pager off
[email protected](active)> show system info
hostname: name
ip-address: ip
# ...There are more lines but these are omitted here...
[email protected](active)>
トン:ファイアウォール側で
が、これは私が(それは)(child.interactから直接コピーされる)を受信しています相互作用であります彼はファイアウォールとの相互作用は正しい。なぜ私は出力を得ることができませんか?私は間違って何をしていますか?あなたの助けのための
おかげで、あなたがchild.sendline('show system info')
にchild.send('show system info')
を変更する必要があり
マイク
あなたは 'ssh'を使って直接接続しているので、期待するのではなく[Paramiko](http://www.paramiko.org/)の使用を検討しましたか?それはより速く、端末の問題を心配する必要はありません。 –