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 解析html之BeautifulSoup
Jul 07 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
使用Python对MySQL数据操作
Apr 06 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
python框架中flask知识点总结
Aug 17 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 Python
Python队列、进程间通信、线程案例
Oct 25 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 Python
Python requests用法和django后台处理详解
Mar 19 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
数据库中排序的对比及使用条件详解
2012/02/23 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
浅析python中while循环和for循环
2019/11/19 Python
python3注册全局热键的实现
2020/03/22 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
农场厂长岗位职责
2013/12/28 职场文书
运动会入场词100字
2014/02/06 职场文书
任命书模板
2014/06/04 职场文书
绿色出行口号
2014/06/18 职场文书
毕业生工作求职信
2014/06/30 职场文书
新课培训心得体会
2014/09/03 职场文书
解除租房协议书
2014/12/03 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
Python Django模型详解
2021/10/05 Python
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers