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中的map()函数和reduce()函数的用法
Apr 27 Python
python简单实例训练(21~30)
Nov 15 Python
python监控键盘输入实例代码
Feb 09 Python
Python之list对应元素求和的方法
Jun 28 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
python3.6中@property装饰器的使用方法示例
Aug 17 Python
python爬虫-模拟微博登录功能
Sep 12 Python
使用python制作一个解压缩软件
Nov 13 Python
Python numpy多维数组实现原理详解
Mar 10 Python
matplotlib quiver箭图绘制案例
Apr 17 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
如何利用Python识别图片中的文字
May 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
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
PHP中的替代语法介绍
2015/01/09 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
微信小程序聊天功能的示例代码
2020/01/13 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python 测试实现方法
2008/12/24 Python
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
【python】matplotlib动态显示详解
2019/04/11 Python
python标记语句块使用方法总结
2019/08/05 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
Python原始套接字编程实例解析
2020/01/29 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
金融行业务员的自我评价
2013/12/13 职场文书
应届毕业生自荐信
2014/05/28 职场文书
婚内房产协议书范本
2014/10/02 职场文书
2014公司年终工作总结
2014/12/19 职场文书
小学家长通知书评语
2014/12/31 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
windows server2008 开启端口的实现方法
2022/06/25 Servers