Pexpect关于SSH和FTP的使用实例

#!/usr/bin/python
#coding:utf-8

import pexpect

ip="192.1681.1.1"
name="root"
pwd="123@abc"
port="22"

#发送命令执行交互,spawn类,主要是启动和控制子程序
child=pexpect.spawn('ssh -p %s %s@%s' %(port,"root",ip)  )
#child=pexpect.spawn(ssh -p 22 root@114.215.238.41)

#expext定义了一个子程序输出的匹配规则
child.expect ('password:')
child.sendline(pwd)

child.expect('#')
child.sendline('df -h')

#发送命令

child.interact()
#关闭pexpect

child.close()
#!/usr/bin/python
#coding:utf-8
import pexpect
child = pexpect.spawn('ftp ftp.a.com')  # 运行ftp命令
info = file('ftpinfo.txt', 'w')  # 记录连接日志信息
child.logfile = info
child.expect('Name .*: ')
child.sendline('user')  # 输入ftp账号信息
child.expect('Password')  # 匹配密码输入提示
child.sendline('pwd')  # 输入ftp密码
# 调用interact()让出控制权,用户可以继续当前的会话手工控制子程序
child.interact()
child.close()

 

posted @ 2017-02-08 15:12  cxiang  阅读(478)  评论(0编辑  收藏  举报