pexpect 的安装

pexpect 作为 Python 的一个普通模块,支持 pip、easy_install 或源码安装方式,具体安装命令如下(根据用户环境,自行选择 pip 或 easy_install):

pip install pexpect
easy_install pexpect

关于源码安装,笔者采用了 GitHub 平台的项目托管源,安装步骤如下:

#wget https://github.com/pexpect/pexpect/releases/download/3.0/pexpect-3.0.tar.
gz -O pexpect-3.0.tar.gz
#tar -zxvf pexpect-3.0.tar.gz
#cd pexpect-3.0
#python setup.py install

校验安装结果,导入模块没有提示异常则说明安装成功:

# python
Python 2.6.6 (r266:84292, Jul 102013, 22:48:45)
[GCC 4.4.720120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pexpect
>>>

一个简单实现 SSH 自动登录的示例如下:

import pexpect
child = pexpect.spawn('scp foo user@example.com:.') #spawn启动scp程序
child.expect('Password:') #expect方法等待子程序产生的输出,判断是否匹配定义的字符串
                          #'Password:'
child.sendline(mypassword) #匹配后则发送密码串进行回应