pyqt教程之一(pyqt远程批量执行Linux命令程序的方法)
类别:脚本大全 浏览量:2792
时间:2022-03-31 20:18:29 pyqt教程之一
pyqt远程批量执行Linux命令程序的方法写了个小程序:
功能
1.测试远程ssh连接是否成功,
2.批量执行远程ssh命令
效果如下:
代码如下:
|
#-*- coding:utf-8 -*- import sys from pyqt4 import qtcore, qtgui, uic import locale import re import os from pyqt4.qtcore import * from pyqt4.qtgui import * import paramiko qtcreatorfile = "test.ui" # enter file here. ui_mainwindow, qtbaseclass = uic.loaduitype(qtcreatorfile) a = 0 username_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远程批量执行linux命令程序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/qq1124794084/article/details/53982337
您可能感兴趣
- linux后台运行程序的命令(在后台运行Linux命令的方法)
- pyqt教程之一(pyqt远程批量执行Linux命令程序的方法)
- linux查看负载命令(在Linux命令行中使用计算器的5个命令详解)
- linux命令du和df的区别(Linux系统目录大小通过du命令获取实例)
- 在linux系统中切换成其他用户(如何在Linux命令行与其他用户通信)
- linux中pwd怎么用(WDCP控制面板的常用linux命令集)
- linux idea怎么激活(在IDEA中使用Linux命令的操作方法)
- 秦海璐炫耀和王新军热恋蜜事,不料对方吐槽她吃饱后肚子撅老高(秦海璐炫耀和王新军热恋蜜事)
- 秦海璐一袭旗袍惹人倾心,将高级与淡雅展现的游刃有余(秦海璐一袭旗袍惹人倾心)
- 门外之见 海蛎子味 的表演,能走多远(门外之见海蛎子味)
- 三部冷门谍战剧,第一部2014年拍摄,至今还未播出(三部冷门谍战剧)
- 《金陵秘事》的剧情跌宕起伏 给观众带来的怎样的感官体验(金陵秘事的剧情跌宕起伏)
- 少儿口才表达影响未来一生,50首经典绕口令和孩子玩出聪明大脑(少儿口才表达影响未来一生)
热门推荐
- MVC中JSON字符长度超出限制
- 阿里云ecs安全设置(阿里云通过安全组实现不同账号下相同地域ECS内网互通)
- C# this扩展方法
- dede标签调用方法(DEDE热门tag,DEDE首页digg,DEDE随机热门关键字调用方法)
- python获取网络数据tcp(Python选择网卡发包及接收数据包)
- wxpython控件如何移动(基于wxPython的GUI实现输入对话框1)
- rename重命名mysql表(MySQL 重命名表的操作方法及注意事项)
- sw动态注解视图干嘛的(Swoole 5将移除自动添加Event::wait特性详解)
- centos7离线安装mysql5.7(CentOS7.5 安装MySql的教程)
- centos6.8安装docker(Linux Centos下使用脚本安装Docker的方法)