国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

pyqt遠(yuǎn)程批量執(zhí)行Linux命令程序的方法

2019-11-02 14:09:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

寫了個(gè)小程序:

功能

1.測(cè)試遠(yuǎn)程ssh連接是否成功,

2.批量執(zhí)行遠(yuǎn)程ssh命令

效果如下:

pyqt遠(yuǎn)程批量執(zhí)行Linux命令程序

代碼如下:

#-*- coding:utf-8 -*-import sysfrom PyQt4 import QtCore, QtGui, uicimport localeimport reimport osfrom PyQt4.QtCore import *from PyQt4.QtGui import *import paramikoqtCreatorFile = "test.ui" # Enter file here. Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)a = 0username_list = []ip_list = []password_list = []class MyApp(QtGui.QMainWindow, Ui_MainWindow):  def __init__(self):    QtGui.QMainWindow.__init__(self)    Ui_MainWindow.__init__(self)    self.setupUi(self)    self.add.clicked.connect(self.add_info)    self.test.clicked.connect(self.test_link)    self.do_2.clicked.connect(self.do_command)  def add_info(self):    global a    ip = self.ip.text()    ip_list.append(ip)    username = self.username.text()    username_list.append(username)    password = self.password.text()    password_list.append(password)    self.table.setHorizontalHeaderLabels(['ip','username','password'])    newItem = QTableWidgetItem(ip)     self.table.setItem(a, 0, newItem)         newItem = QTableWidgetItem(username)     self.table.setItem(a, 1, newItem)          newItem = QTableWidgetItem(password)     self.table.setItem(a, 2, newItem)    a += 1  def test_link(self):    ip = str(self.ip.text())    username = str(self.username.text())    password = str(self.password.text())    try:      ssh = paramiko.SSHClient()      ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())      ssh.connect(ip, 22, username, password)      stdin, stdout, stderr = ssh.exec_command("who")      print stdout.read()      search = re.search(stdout.read(), username)      if search:        info = u"連接成功"      else:        info = u"連接失敗"    except:      info = u"連接失敗"    print info    self.state.setText(info)    ssh.close()   def do_command(self):    command = str(self.command.text())    ssh = paramiko.SSHClient()    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())    for i in range(len(ip_list)):      ip = str(ip_list[i])      username = str(username_list[i])      password = str(password_list[i])      ssh.connect(ip, 22, username, password)      stdin, stdout, stderr = ssh.exec_command(command)      info = stdout.read()      self.result.append(info)     ssh.close()    if __name__ == "__main__":  app = QtGui.QApplication(sys.argv)  mycode = locale.getpreferredencoding()  code = QTextCodec.codecForName(mycode)  QTextCodec.setCodecForLocale(code)  QTextCodec.setCodecForTr(code)  QTextCodec.setCodecForCStrings(code)  window = MyApp()  window.show()  sys.exit(app.exec_())

以上這篇pyqt遠(yuǎn)程批量執(zhí)行Linux命令程序的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持IIS7站長(zhǎng)之家。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 富民县| 依安县| 邻水| 冕宁县| 长顺县| 涟源市| 澄江县| 延庆县| 仲巴县| 遂川县| 龙州县| 巴林左旗| 安远县| 宁明县| 德兴市| 景谷| 图们市| 池州市| 玉林市| 黄骅市| 遂宁市| 舞阳县| 河北区| 苏州市| 金华市| 彰武县| 新龙县| 福州市| 安龙县| 富锦市| 安宁市| 和静县| 潢川县| 芷江| 汶上县| 柳江县| 永丰县| 颍上县| 旬阳县| 灵寿县| 乳源|