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()