基于Python编写一个监控CPU的应用系统


Posted in Python onJune 25, 2022

导语

哈喽!我是木木子,最近好懒了哈天气太热了.jpg

有时间给大家更新一下下啦!

在使用 Mac 电脑办公时,有时候不知道哪些软件或进程会占用大量的资源,导致进行其他任务时出现变慢、卡顿等现象。因此,实时监控系统的资源就变得非常重要。

但是市面上的系统监控软件琳琅满目,种类繁多,哪款监控软件最好?

​今天小编给大家介绍一款超好用的Mac 监控软件奔跑的猫猫,希望可以对你的选择有所帮助。

 嗯哼~win10电脑表示不服,Mac能有的,我也不能少,SO 一款治愈系的猫咪监控小程序就做出来啦

一、简介

1.1 软件介绍

用过Mac的可能知道这么一款软件:RunCat。

这是一款治愈系的 Mac 系统监控软件,它可以以动画的形式驻留在你的系统状态栏里。

基于Python编写一个监控CPU的应用系统

猫猫可以通过运行速度告诉你 Mac 的 CPU 使用率。而且 RunCat 为菜单栏提供了关键帧动画,动画根据 Mac 的 CPU 使用情况改变速度。

当然 RunCat 不只有猫,还有很多动物和动画,比如:

猫 ?—狗 ?—猎豹 ?—兔子 ?—海豚 ?—青蛙 ?—鸟 ?—企鹅 ?—很长的龙 ?—齿轮 ⚙️—火 ?—水滴 ?—火箭 ?—环 ⭕️——等等。

这应用就功能来说确实不够有优势,但是架不住它好玩啊。哈哈 小编就喜欢给大家介绍一些好玩儿的东西嘛~

另外它自带的免费动画很多,一般来说还是够用的。RunCat 是款更适合无聊发呆时治愈打发时间的软件哦!

二、准备中

2.0 原理简介

原理其实很简单,利用python的psutil包就可以轻松地获取当前电脑的CPU利用率或者运行内存利用率。然后根据利用率来决定托盘图标的更新频率就好啦。

然后通过循环设置5个不同状态的icon来实现猫猫跑动的效果,有兴趣的小伙伴可以制作自己喜欢

的动画然后替换掉我找到的就OK啦~

2.1 环境安装

Python3、Pycharm。相关模块:psutil模块;以及一些python自带的模块。

模块安装统一使用豆瓣镜像源:

pip install -i https://pypi.douban.com/simple/ +模块名

2.2 素材准备(可修改)

猫猫可以通过运行速度告诉你 Mac 的 CPU 使用率,主要也是猫猫做的小脚本哈,其他的动物可以自己尝试做啦~

基于Python编写一个监控CPU的应用系统

三、开始敲代码

3.1 导入模块

import sys
import time
import psutil
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QSystemTrayIcon

3.2 奔跑的猫-CPU

def runcatCPU():
    app = QApplication(sys.argv)
    # 最后一个可视的窗口退出时程序不退出
    app.setQuitOnLastWindowClosed(False)
    icon = QSystemTrayIcon()
    icon.setIcon(QIcon('icons/0.png'))
    icon.setVisible(True)
    cpu_percent = psutil.cpu_percent(interval=1) / 100
    cpu_percent_update_fps = 20
    fps_count = 0
    while True:
        fps_count += 1
        if fps_count > cpu_percent_update_fps:
            cpu_percent = psutil.cpu_percent(interval=1) / 100
            fps_count = 0
        # 开口向上的抛物线, 左边递减
        time_interval = (cpu_percent * cpu_percent - 2 * cpu_percent + 2) / 20
        for i in range(5):
            icon.setIcon(QIcon('icons/%d.png' % i))
            icon.setToolTip('cpu: %.2f' % cpu_percent)
            time.sleep(time_interval)
    app.exec_()

3.3 奔跑的猫-内存

def runcatMemory():
    app = QApplication(sys.argv)
    # 最后一个可视的窗口退出时程序不退出
    app.setQuitOnLastWindowClosed(False)
    icon = QSystemTrayIcon()
    icon.setIcon(QIcon('icons/0.png'))
    icon.setVisible(True)
    memory_percent = psutil.virtual_memory().percent / 100
    memory_percent_update_fps = 20
    fps_count = 0
    while True:
        fps_count += 1
        if fps_count > memory_percent_update_fps:
            memory_percent = psutil.virtual_memory().percent / 100
            fps_count = 0
        # 开口向上的抛物线, 左边递减
        time_interval = (memory_percent * memory_percent - 2 * memory_percent + 2) / 20
        for i in range(5):
            icon.setIcon(QIcon('icons/%d.png' % i))
            icon.setToolTip('memory: %.2f' % memory_percent)
            time.sleep(time_interval)
    app.exec_()

四、效果展示

静态截图展示效果

基于Python编写一个监控CPU的应用系统

以上就是基于Python编写一个监控CPU的应用系统的详细内容,更多关于Python监控CPU的资料请关注三水点靠木其它相关文章!


Tags in this post...

Python 相关文章推荐
python单链表实现代码实例
Nov 21 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
Feb 13 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 Python
Python实现注册、登录小程序功能
Sep 21 Python
python3安装crypto出错及解决方法
Jul 30 Python
Python使用pdb调试代码的技巧
May 03 Python
django中related_name的用法说明
May 20 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
如何教少儿学习Python编程
Jul 10 Python
python实现学生管理系统开发
Jul 24 Python
Python猫眼电影最近上映的电影票房信息
Sep 18 Python
python实现双链表
May 25 Python
如何基于python实现单目三维重建详解
python如何读取和存储dict()与.json格式文件
Jun 25 #Python
python运行脚本文件的三种方法实例
Jun 25 #Python
如何利用python创作字符画
利用Python实时获取steam特惠游戏数据
Python first-order-model实现让照片动起来
python热力图实现的完整实例
You might like
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
php flv视频时间获取函数
2010/06/29 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
微信跳一跳自动运行python脚本
2018/01/08 Python
Python线程threading模块用法详解
2020/02/26 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
运动会入场词50字
2014/02/20 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
学生上课说话检讨书
2014/10/25 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
水电工程师岗位职责
2015/02/13 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
护士工作心得体会
2016/01/25 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python