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实现的百度贴吧网络爬虫实例
Apr 17 Python
深入浅析python定时杀进程
Jun 06 Python
基础的十进制按位运算总结与在Python中的计算示例
Jun 28 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
使用Python设计一个代码统计工具
Apr 04 Python
浅谈python 导入模块和解决文件句柄找不到问题
Dec 15 Python
谈一谈基于python的面向对象编程基础
May 21 Python
python树的同构学习笔记
Sep 14 Python
Python hashlib模块加密过程解析
Nov 05 Python
python如何利用traceback获取详细的异常信息
Jun 05 Python
Python字符串常规操作小结
Apr 03 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
php去除HTML标签实例
2013/11/06 PHP
php自定义session示例分享
2014/04/22 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
curl和libcurl的区别简介
2015/07/01 PHP
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
python递归函数绘制分形树的方法
2018/06/22 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
Python日志syslog使用原理详解
2020/02/18 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
自动化专业个人求职信范文
2013/12/30 职场文书
护理目标管理责任书
2014/07/25 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
教师个人年度总结
2015/02/11 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
女方离婚起诉书
2015/05/18 职场文书
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android