yoshiislandblog.net
元営業の駆け出しアラサーSEが、休日にMACと戯れた際の殴り書きメモ。日々勉強。日々進歩。

この記事は3年以上前に書かれた記事で内容が古い可能性があります

pexpectで処理自動化する

2017-09-30

他の機器にsshしてどうこうする処理を自動化したくてpexpectで書いてみた。for文で回したいときなど便利。
linuxではない機器でもいじれるのが良いと思った。

#!/usr/bin/python2.6
#coding: utf-8

import pexpect
import subprocess

def pex(foo, di_l, in_l):
  print(in_l)
  foo.expect(di_l)
  foo.sendline(in_l)

if __name__ == "__main__":
  foo = pexpect.spawn('ssh -l yoshi 192.168.0.1')
  pex(foo, '.*password:', 'password')
  pex(foo, '.*>', 'enable')
  pex(foo, '.*#', 'configure terminal')

  pex(foo, '.*#', 'なにか入れたいコマンド')
  pex(foo, '.*#', 'なにか入れたいコマンド')

  pex(foo, '.*#', 'exit')
  pex(foo, '.*#', 'exit')

  foo.interact()