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 相关文章推荐
Python编程之属性和方法实例详解
May 19 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
Python基于当前时间批量创建文件
May 07 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
keras实现多种分类网络的方式
Jun 11 Python
Python如何对齐字符串
Jul 30 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
详解Python中__new__方法的作用
Mar 31 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
python常规方法实现数组的全排列
2015/03/17 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
群众路线专项整治工作情况报告
2014/10/28 职场文书
学习普通话的体会
2014/11/07 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
企业承诺书格式范文
2015/04/28 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
公证书
2019/04/17 职场文书
八年级作文之感恩
2019/11/22 职场文书
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS