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 相关文章推荐
400多行Python代码实现了一个FTP服务器
May 10 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
浅述python2与python3的简单区别
Sep 19 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
flask session组件的使用示例
Dec 25 Python
Django框架首页和登录页分离操作示例
May 28 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
Nov 25 Python
python实现人机猜拳小游戏
Feb 03 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
Javascript冒泡排序算法详解
2014/12/03 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
python开发之字符串string操作方法实例详解
2015/11/12 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
Python实现随机选择元素功能
2017/09/14 Python
基于python实现KNN分类算法
2020/04/23 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
幼儿老师求职信
2014/06/30 职场文书
简历自我评价优缺点
2015/03/11 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
2015入党自传书范文
2015/06/26 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书