pexpectで処理自動化する | www.yoshiislandblog.net
Close

pexpectで処理自動化する

他の機器に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()
%d bloggers like this: