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不规范的日期字符串处理类
Jun 10 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
python 网络编程详解及简单实例
Apr 25 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
python模块导入的细节详解
Dec 10 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
通过python检测字符串的字母
Feb 18 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
Jupyter安装链接aconda实现过程图解
Nov 02 Python
python 使用cycle构造无限循环迭代器
Dec 02 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下统计用户在线时间的一种尝试
2010/08/26 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
php实现图片压缩处理
2020/09/09 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
项目实践之javascript技巧
2007/12/06 Javascript
js 与或运算符 || && 妙用
2009/12/09 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
Django nginx配置实现过程详解
2020/09/10 Python
浅析python 字典嵌套
2020/09/29 Python
python实现自动打卡的示例代码
2020/10/10 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
高一学生评语大全
2014/04/25 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书