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操作mongodb根据_id查询数据的实现方法
May 20 Python
python从入门到精通(DAY 1)
Dec 20 Python
50行Python代码实现人脸检测功能
Jan 23 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
python opencv人脸检测提取及保存方法
Aug 03 Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
Django实现跨域的2种方法
Jul 31 Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 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
Views rows style模板重写代码
2011/05/16 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
appium+python adb常用命令分享
2020/03/06 Python
pandas 数据类型转换的实现
2020/12/29 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
《美丽的小路》教学反思
2014/02/26 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
端午节演讲稿
2014/05/23 职场文书
二手车转让协议书
2015/01/29 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技