小豆浆 python2的pexpect的基本用法(检查硬盘空间) www.xdoujiang.com

  • A+
所属分类:python实战
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #--------------------------------------------------
  4. #Author:gongzheng
  5. #Email:85646830@163.com
  6. #FileName:diskmonitor.py
  7. #Function: 
  8. #Version:1.0 
  9. #Created:2016-12-19
  10. #--------------------------------------------------
  11. import pexpect
  12. def login(port,user,passwd,ip,command):
  13.   child=pexpect.spawn('ssh -p%s %s@%s "%s"' %(port,user,ip,command))
  14.   o=''
  15.   try:
  16.     i=child.expect(['[Pp]assword:','continue connecting (yes/no)?'])
  17.     if i == 0:
  18.       child.sendline(passwd)
  19.     elif i == 1:
  20.       child.sendline('yes')
  21.     else:
  22.       pass
  23.   except pexpect.EOF:
  24.     child.close()
  25.   else:
  26.     o=child.read()
  27.     child.expect(pexpect.EOF)
  28.     child.close()
  29.   return o
  30. hosts=file('iplist','r')
  31. for line in hosts.readlines():
  32.   host=line.strip("\n")
  33.   if host:
  34.     ip,port,user,passwd,commands= host.split(":")
  35.     for command in commands.split(","):
  36.       print "%s" % (ip),
  37.       print login(port,user,passwd,ip,command)
  38. hosts.close()
  39. 以下是iplist文件
  40. 172.16.1.100:22:wahaha:11111:df -h|grep "^/dev"
    172.16.1.101:22:wahaha:22222:df -h|grep "^/dev"
    172.16.1.102:22:wahaha:33333:df -h|grep "^/dev"
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: