Python (paramiko的再次封装)_python 如何再次封装sshclient-程序员宅基地

1. 导入第三方模块

1.1 导入os:
	import os
1.2 导入sys:
	import sys
1.3 导入paramiko
	import paramiko

2. 建立SShRemoteHost

2.1 class SshRemoteHost(object):

3. 实现__init__方法

    def __init__(self, host, user, pwd, cmd, port=22):
        self.host = host
        self.port = port
        self.user = user
        self.pwd = pwd
        self.cmd = cmd  # cmd hostname;   cmd ls -l; cmd data +%F

4. 实现run方法

    def run(self):
        # cmd hostname  类的反射机制
        cmd_str = self.cmd.split()[0]  # cmd
        if hasattr(self, 'do_' + cmd_str):  # 判断是否有do_cmd方法
            getattr(self, 'do_' + cmd_str)()
        else:
            logging.error("目前不支持该操作.....目前支持cmd, put, get")
            print("目前不支持该操作.....目前支持cmd, put, get")

5. 实现do_cmd方法

    def do_cmd(self):
        print("正在执行命令......")
        # ssh [email protected]
        # 1. 创建一个ssh对象;
        client = paramiko.SSHClient()
        # 2. 解决问题:如果之前没有;连接过的ip, 会出现
        # Are you sure you want to continue connecting (yes/no)? yes
        # 自动选择yes
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

        try:
       
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43281189/article/details/86547630

智能推荐

每天唱歌-程序员宅基地

文章浏览阅读694次。练习唱歌,今天跟外国老师对话,觉得自己听力和口语还是不错的,至少能表述很多的词汇,已经比我想象的好实在太多了。而且自己放的很开。我张健是语言高手,讲话要像个胜利者,不能幼稚。这样会让自己更加的进步。昨天去周的婚礼,觉得没人认识就先走了,送了800块钱,不要觉得不好意思。这样是很合理的,只要自己进不了,那就可以了。每个人需要自己的时间,这次学习外语,也是为了提升自己,就是平时看看文档也不错。

LAMMPS学习总结1_lammps neighbor-程序员宅基地

文章浏览阅读6.7k次,点赞7次,收藏36次。LAMMPS学习总结11、手册中说,Compute temp/region与执行温度调节的fix(fix nve/fix langevin等)命令一起使用,那么这个偏差将从每个原子中减去,剩余的热速度的温度调节将被执行,并且偏差将被添加回去。这是什么意思????2、NEMD计算热导率的langvin控温法中,为什么两次langevin控温呢?而且第一次的fix 没有unfix就直接又fix了 这个没影响么?3、langevin控温过程理解4、1、手册中说,Compute temp/region与执行温度_lammps neighbor

Maven工程 添加的war包<packaging>war</packaging>报错 解决方案-程序员宅基地

文章浏览阅读6.7k次。Maven工程 添加的war包war报错 解决方案

leetcode_效率题解_148. Sort List_(链表归并排序)-程序员宅基地

文章浏览阅读511次。相关题解: leetcode_效率题解_[python/C++]_147. Insertion Sort List(链表插入排序)题目链接 【题目】 Sort a linked list in O(n log n) time using constant space complexity. 【分析】 O(nlogn)的复杂度我们很显然想到归并排序,快速排序记得大一的时候写链表排序的题都

DGL官方教程--异构图_dgl异构图-程序员宅基地

文章浏览阅读1.2w次,点赞17次,收藏78次。Note:Click here to download the full example codeWorking with Heterogeneous GraphsAuthor: Quan Gan, Minjie Wang, Mufei Li, George Karypis, Zheng Zhang在此教程中,我们将要学到以下内容:异构图形数据的示例和典型应用。在DGL中创建和处..._dgl异构图

厦大计算机科学复试线,2020年厦门大学信息学院考研复试分数线-程序员宅基地

文章浏览阅读3.3k次。2020年我院考研复试分数线如下:1、人工智能系智能科学与技术总分300,政治:50,外语:50,数学70,专业课80;计算机科学与技术总分300,政治:50,外语:50,数学70,专业课80;模式识别与智能系统总分300,政治:50,外语:50,数学70,专业课80;电子信息总分300,政治:50,外语:50,数学70,专业课80;2、计算机科学系(不含少民骨干和退役士兵计划)计算机科学与技术总...

随便推点

如何使用python调用ffmpeg 对语音进行操作-程序员宅基地

文章浏览阅读909次,点赞2次,收藏5次。如何使用python调用ffmpeg 对语音进行操作1. 安装python库1.1 github地址1.2 如何安装?2. windows安装 ffmpeg2.1 下载ffmpeg并且安装2.2 将ffmpeg添加至环境变量2.3 验证ffmpeg是否安装成功3. python调用程序1. 安装python库1.1 github地址https://github.com/kkroening/ffmpeg-python1.2 如何安装?pip install ffmpeg-python2.

SUSE 12 SP1 nginx 离线安装_suse离线安装nginx-程序员宅基地

文章浏览阅读1.4k次。文件安装列表:执行安装命令:rpm -ivh /nginx/*(nginx为安装文件rpm目录)文件下载地址 : https://download.csdn.net/download/u013493751/10525653安装完毕:service nginx start (启动服务)PS:这个版本nginx 目录没有index.html 文件 会报nginx 403 ..._suse离线安装nginx

MySQL连接闲置8小时自动断开连接解决方案_mysql8小时问题解决方案-程序员宅基地

文章浏览阅读2.3k次。com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 232,596,703 milliseconds ago. The last packet sent successfully to the server was 232,596,704 milliseconds ago. is longer than the server con_mysql8小时问题解决方案

《深度学习之Pytorch实战计算机视觉》:手写数字识别_深度学习之pytorch实战计算机视觉 实战手写数字识别-程序员宅基地

文章浏览阅读282次。import torchvisionimport torchfrom torchvision import datasets, transformsimport matplotlib.pyplot as pltfrom torch.autograd import Variabletransform = transforms.Compose([transforms.ToTensor(),..._深度学习之pytorch实战计算机视觉 实战手写数字识别

linux子系统ubuntu16.04安装使用xrdp当远程桌面-程序员宅基地

文章浏览阅读178次。参考文献:https://icytown.com/windows/windows-subsystem-for-linux-gui-xubuntu/https://jingyan.baidu.com/article/ed2a5d1f98577809f6be17a3.html安装Xrdp和XubuntuXrdp是一个提供远程桌面服务的服务器程序,在Ubuntu上运行它,我们就可以在Wind...

在程序中用到的ODBC API 函数_odbc的主要api函数-程序员宅基地

文章浏览阅读1.4k次。本文转自 http://blog.sina.com.cn/s/blog_4db3fe5501008o0k.html2)在程序中用到的ODBC API 函数1.SQLBindParameter:其作用为当我们要向例如存储过程传递参数时,我们可利用其绑定我们要传递的参数。SQ_odbc的主要api函数