基于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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
Python3 能振兴 Python的原因分析
Nov 28 Python
python简单判断序列是否为空的方法
Jun 30 Python
Python随机生成带特殊字符的密码
Mar 02 Python
python执行使用shell命令方法分享
Nov 08 Python
python中format()函数的简单使用教程
Mar 14 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
python中round函数如何使用
Jun 19 Python
Python基于execjs运行js过程解析
Nov 27 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 Python
python析构函数用法及注意事项
Jun 22 Python
如何基于python实现单目三维重建详解
python如何读取和存储dict()与.json格式文件
Jun 25 #Python
python运行脚本文件的三种方法实例
Jun 25 #Python
如何利用python创作字符画
利用Python实时获取steam特惠游戏数据
Python first-order-model实现让照片动起来
python热力图实现的完整实例
You might like
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
Javascript hasOwnProperty 方法 & in 关键字
2008/11/26 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
自制简易打赏功能的实例
2017/09/02 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
几个SQL的面试题
2014/03/08 面试题
商务英语毕业生自荐信范文
2013/11/08 职场文书
办公室内勤工作职责
2013/12/11 职场文书
教师专业自荐信
2014/05/31 职场文书
排查整治工作方案
2014/06/09 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
小学生运动会报道稿
2014/09/12 职场文书
大学生助学金感谢信
2015/01/21 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫