Python使用Paramiko控制liunx第三方库


Posted in Python onMay 20, 2020

paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

Paramiko 是Python 用于控制liunx中文件的第三方库,可创建文件,修改,删除文件的内容等;

代码实例:

# -*- coding:utf-8 -*-
import paramiko
 
class ssh(object):
  def __init__(self,host,port,user,password):
    self.host = host
    self.port = port
    self.user = user
    self.password = password
    self.ssh_client = paramiko.SSHClient()
    self.ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    self.ssh_client.connect(self.host, self.port, self.user, self.password)
 
  #执行指令返回文本字符串
  def sftp_exec_command(self,command):
    arrconfiglist = [""]
    try:
      std_in, std_out, std_err = self.ssh_client.exec_command(command)
      for line in std_out:
        arrconfiglist.append(line.strip("\n"))
      del arrconfiglist[0]
      self.ssh_client.close()
      return arrconfiglist
    except Exception as e:
      print(e,"ssh ERROR")
    finally:
      self.ssh_client.close()
 
  #执行指令无返回
  def sftp_exec_norecommand(self,command):
    try:
      self.ssh_client.exec_command(command)
      self.ssh_client.close()
    except Exception as e:
      print(e,"ssh ERROR")
    finally:
      self.ssh_client.close()
 
'''
在别的项目中被调用使用如下方法
import ssh as ssh
 
if __name__ == '__main__':
  ssh.ssh().sftp_exec_command("--command information--")
'''
 
'''
if __name__ == '__main__':
  rect = ssh().sftp_exec_command("")
  print(rect)
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
windows下python模拟鼠标点击和键盘输示例
Feb 28 Python
Python合并多个装饰器小技巧
Apr 28 Python
Windows下实现Python2和Python3两个版共存的方法
Jun 12 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
python进行TCP端口扫描的实现
Dec 21 Python
python面向对象 反射原理解析
Aug 12 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
python检测服务器端口代码实例
Aug 31 Python
python安装scipy的步骤解析
Sep 28 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 Python
实例讲解Python 迭代器与生成器
Jul 08 Python
python判断元素是否存在的实例方法
Sep 24 Python
解决django框架model中外键不落实到数据库问题
May 20 #Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 #Python
让Django的BooleanField支持字符串形式的输入方式
May 20 #Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 #Python
基于Python脚本实现邮件报警功能
May 20 #Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 #Python
Django 解决model 反向引用中的related_name问题
May 19 #Python
You might like
php URL验证正则表达式
2011/07/19 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
如何用js控制css中的float的代码
2007/08/16 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
JavaScript闭包详解
2015/02/02 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
django迁移文件migrations的实现
2020/03/31 Python
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
劳动竞赛口号
2014/06/16 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
万里长城导游词
2015/01/30 职场文书
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android