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

首頁(yè) > 編程 > Python > 正文

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

2020-02-16 01:09:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

寫(xiě)了個(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è)參考,也希望大家多多支持武林站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲靖市| 榆社县| 津南区| 东乡| 桦川县| 三穗县| 师宗县| 名山县| 霍山县| 九寨沟县| 西宁市| 敦化市| 师宗县| 惠来县| 西充县| 阿克陶县| 达尔| 米易县| 邹城市| 新民市| 剑川县| 来凤县| 阜新| 德清县| 景洪市| 呼玛县| 弥渡县| 若尔盖县| 阿图什市| 吉水县| 和平县| 雅安市| 连平县| 靖边县| 乌苏市| 富宁县| 临沂市| 临沧市| 宁海县| 甘孜县| 嘉兴市|