幕客今天来给大家介绍paramiko和pexpect模块使用场景和功能区别:
一、各自介绍
pexpect和paramiko都是python模块,我们可以利用这两个模块实现ssh登陆,通途最多当然是对linux服务器自动化命令操作。
下面慕课分别介绍下两个模块:
pexpect 一个用来通过启动子程序,使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。
paramiko 一个基于Python实现的SSH远程安全连接,用于SSH远程执行命令、文件传输等功能的ssh客户端模块。
二、功能区别
从定义上我们可以看出一些各自的区别,假设我们需要用它们来作自动化任务,如果不进行模块改写,有如下使用上的一些缺陷:
模块 功能
pexpect
1、需要借助Liux下ssh命令方式登录
2、实现类似scp的拷贝文件功能
paramiko
1、无法实现类似pexpect的interact方法进行交互式命令输入
2、自身不支持多线程
三、使用场景
利用python来作自动化登陆,并执行命令。
1、pexpect模块的使用偏向于偏交互式的使用,如:管理员需要登陆100台机器,每次都会手动执行不同的命令,如果通过ssh的命令进行登陆,这样每次输入不同的密码、用户、主机地址等信息会是一个不小的工作量,用pexpect这个模块,就可以帮我解决这个问题。
2、paramiko模块实现ssh的登陆探测,因为其更加通用并且兼容各种ssh协议的操作系统和相关的环境。通用paramiko可以实现
类似sftp登陆验证。
关于python的自动化运维、pexpect、paramiko你还有什么想了解的地方,欢迎关注,我将实时提供你更多有用的知识!
我的技术网站:http://www.imoocc.com
四、互勉一句
"Neverunderesti mate your power Never underesti mate your power to change yourself!"
永远不要低估改变自我的能力!