好久没有更新博客了,最近一直在学习python,于是,在有空闲的时间写下python视图界面管理nginx,写得不够好,不过希望能帮忙到其他童鞋,再次感叹,强大的python,不说了,上代码。

  1. [root@localhost ~]# cat /opt/python.py
  2. #-*- encoding=UTF-8 -*-
  3. import Tkinter
  4. from Tkinter import *
  5. from FileDialog import *
  6. import os
  7. root = Tk()
  8. root.title('nginx管理GUI')
  9. root.geometry('800x400')
  10. t = Tkinter.Text(root,height=20,width=100,bg='grey',wrap = 'word' )
  11. def openfile():
  12. t.delete(1.0, 'end')
  13. fd = LoadFileDialog(root)
  14. filename = fd.go()
  15. content = open(filename, 'r')
  16. lines= content.readlines()
  17. for line in lines:
  18. t.insert('end',line)
  19. #    file.close()
  20. def savefile():
  21. fd = SaveFileDialog(root)
  22. filename= fd.go()
  23. file = open(filename, 'w')
  24. content = t.get(1.0, END)
  25. file.write(content)
  26. file.close()
  27. def threads():
  28. t.delete(1.0, 'end')
  29. result = os.popen('ps -ef | grep httpd | grep -v grep|wc -l').readlines()
  30. t.insert(INSERT, "\n".join(result), "a")
  31. def status():
  32. t.delete(1.0, 'end')
  33. result = os.popen('sh status.sh').readlines()
  34. t.insert(INSERT, "\n".join(result), "a")
  35. def total():
  36. t.delete(1.0, 'end')
  37. result = os.popen('sh conn.sh').readlines()
  38. t.insert(INSERT, "\n".join(result), "a")
  39. def start():
  40. t.delete(1.0, 'end')
  41. result = os.popen('service httpd start').readlines()
  42. t.insert(INSERT, "\n".join(result), "a")
  43. def stop():
  44. t.delete(1.0, 'end')
  45. result = os.popen('service httpd stop').readlines()
  46. t.insert(INSERT, "\n".join(result), "a")
  47. def restart():
  48. t.delete(1.0, 'end')
  49. result = os.popen('service httpd restart').readlines()
  50. t.insert(INSERT, "\n".join(result), "a")
  51. def about():
  52. t.delete(1.0, 'end')
  53. w = Label(root,text="这个是nginx管理的第一个版本,谢谢大家支持")
  54. w.pack(side=TOP)
  55. menubar = Menu(root)
  56. #创建下拉菜单File,然后将其加入到顶级的菜单栏中
  57. filemenu = Menu(menubar,tearoff=0)
  58. filemenu.add_command(label="打开配置文件", command=openfile)
  59. filemenu.add_command(label="保存配置文件", command=savefile)
  60. filemenu.add_separator()
  61. filemenu.add_command(label="退出", command=root.quit)
  62. menubar.add_cascade(label="nginx配置管理", menu=filemenu)
  63. #创建一个下拉菜单Edit
  64. editmenu = Menu(menubar, tearoff=0)
  65. editmenu.add_command(label="总线程数", command=threads)
  66. editmenu.add_command(label="状态", command=status)
  67. editmenu.add_command(label="连接数", command=total)
  68. menubar.add_cascade(label="nginx基本监控查看",menu=editmenu)
  69. #创建下拉菜单status
  70. editmenu = Menu(menubar, tearoff=0)
  71. editmenu.add_command(label="启动nginx", command=start)
  72. editmenu.add_command(label="停止nginx",command=stop)
  73. editmenu.add_command(label="重启nginx", command=restart)
  74. menubar.add_cascade(label="nginx操作",menu=editmenu)
  75. #创建下拉菜单Help
  76. helpmenu = Menu(menubar, tearoff=0)
  77. helpmenu.add_command(label="about", command=about)
  78. menubar.add_cascade(label="查看版本和帮助", menu=helpmenu)
  79. #显示菜单
  80. root.config(menu=menubar)
  81. #显示菜单
  82. t.pack()
  83. mainloop()

注意,这里需要的模块,还有要在图形界面的系统

执行结果:

下面的是其他功能查看

写得不是很完美,希望拍砖

转载于:https://blog.51cto.com/youzao/1129535

python实现nginx图形界面管理相关推荐

  1. 安装网页图形界面管理Linux

    安装网页图形界面管理Linux webmin下载地址 http://www.webmin.cn/download.html 下载webmin [root@localhost ~]# wget http ...

  2. gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具

    gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具 - Wow! Ubuntu gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具 介绍 之前我们在 U ...

  3. python怎么做图形界面-图形界面

    Python支持多种图形界面的第三方库,包括: Tk wxWidgets Qt GTK 等等. 但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用. ...

  4. python写前端图形界面_如何Tkinter模块编写Python图形界面

    一.为何使用Tkinter而非PyQt 众所周知,在Python中创建图形界面程序有很多种的选择,其中PyQt和wxPython都是很热门的模块包,这些第三方的图形界面模块功能强大.配置丰富,界面美观 ...

  5. 银河麒麟桌面操作系统V10上安装使用redis及图形界面管理工具RDM(RedisDesktopManager)

    前言 本文介绍银河麒麟桌面系统V10上redis及图形管理工具的安装使用 一.安装Redis 点击UK图标.所有程序.终端,打开终端 输入安装指令sudo apt install redis-serv ...

  6. 【PySimpleGUI】Python用户交互图形界面开发(3)

    目录 前言 一.通过列表索引获取窗口返回值 二.通过字典的键获取返回值 前言 上一篇文章介绍了窗口关闭,按钮点击以及其他元素事件.[PySimpleGUI]Python用户交互图形界面开发(2) 这篇 ...

  7. 210811_152958-Gooey实战 | 几行代码转换Python程序为图形界面应用!

    Gooey实战 | 几行代码转换Python程序为图形界面应用! 1.概述 今天发现公众号的一个作者大大用Python写了个小工具, 发现还挺好玩, 而且代码已经分享给大家了.在文章末尾提到还没有为这 ...

  8. python界面设计实例-【Python】Tkinter图形界面设计(GUI)

    简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一.目前,市面上支持 Python 的"GUI 工具包"很多,各有特点,虽然大多数工具包的基础类似,但要学习 ...

  9. 【Python】Tkinter图形界面设计(GUI)

    简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一.目前,市面上支持 Python 的"GUI 工具包"很多,各有特点,虽然大多数工具包的基础类似,但要学习 ...

最新文章

  1. Uncaught TypeError: Cannot read property 'setAttribute' of null
  2. python DataFrame join()
  3. 权限管理说明-以Linux为例
  4. 四张照片合成一张怎么弄_精美!多张照片组合成一张的拼贴画,每一幅都令人惊叹...
  5. ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记
  6. 现在做Android开发有前途吗?复习指南
  7. Unity热更新之资源的上传与下载
  8. android 中 FLAG_SHOW_WHEN_LOCKED 的用法及解释
  9. 揭秘:微信如何用libco支撑8亿用户?
  10. hyper-v 中 安装 Centos 7.0 设置网络 教程
  11. TCP/IP协议中IP数据保报文格式详解
  12. 硬盘容量统计神器WinDirStat
  13. 【毕业设计】基于树莓派的指纹识别考勤系统 - 单片机 嵌入式 物联网
  14. 医学图像数据集:肝脏和肿瘤分割数据集
  15. 荒野乱斗好友系统分析
  16. 计算机基础使用操作培训ppt,计算机基础操作培训课件ppt课件.ppt
  17. Redis 作者 Antirez 讲如何实现分布式锁?Redis 实现分布式锁天然的缺陷分析Redis分布式锁的正确使用姿势!...
  18. 微电网调度(风、光、储能、电网交互)(MatlabPython代码实现)
  19. pr怎么把视频去水印
  20. 排序算法稳定性和不稳定性的理解

热门文章

  1. 磁盘配额的wmi版本(C#)
  2. list控件响应鼠标键的单双击
  3. redis常用命令参考
  4. bug诞生记——不定长参数隐藏的类型问题
  5. WMI技术介绍和应用——查询时间信息
  6. libuvc介绍及简单使用
  7. java注解返回不同消息,Spring MVC Controller中的一个读入和返回都是JSON的方法如何获取javax.validation注解的异常信息...
  8. android4.3.0 camera,4.3、高通camera驱动简析
  9. 卡顿严重_魔兽怀旧服:安其拉开门二测结果出炉,暴雪依然无法解决卡顿问题...
  10. easyexcel生成excel_阿里JAVA解析Excel工具easyexcel