国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 固镇县| 将乐县| 无锡市| 永清县| 海林市| 抚州市| 沾化县| 章丘市| 娄底市| 读书| 萝北县| 丹寨县| 五指山市| 平阳县| 英山县| 隆安县| 若尔盖县| 黔江区| 邵武市| 隆尧县| 安化县| 福建省| 秦皇岛市| 蒲江县| 蓬安县| 福建省| 高要市| 工布江达县| 唐山市| 铜陵市| 高淳县| 颍上县| 莱阳市| 赞皇县| 防城港市| 嘉祥县| 洪雅县| 河间市| 广德县| 定陶县| 株洲县|