基于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 文件重命名工具代码
Jul 26 Python
Python去掉字符串中空格的方法
Mar 11 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
Python 3中的yield from语法详解
Jan 18 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
pycharm运行scrapy过程图解
Nov 22 Python
centos7中安装python3.6.4的教程
Dec 11 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 Python
在Python中如何使用yield
Jun 07 Python
如何基于python实现单目三维重建详解
python如何读取和存储dict()与.json格式文件
Jun 25 #Python
python运行脚本文件的三种方法实例
Jun 25 #Python
如何利用python创作字符画
利用Python实时获取steam特惠游戏数据
Python first-order-model实现让照片动起来
python热力图实现的完整实例
You might like
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
vue3+typeScript穿梭框的实现示例
2020/12/29 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python简单实现获取当前时间
2016/08/27 Python
python执行使用shell命令方法分享
2017/11/08 Python
SVM基本概念及Python实现代码
2017/12/27 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
Django中的静态文件管理过程解析
2019/08/01 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
Python turtle库的画笔控制说明
2020/06/28 Python
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
上班玩手机检讨书
2014/02/17 职场文书
廉洁自律承诺书
2014/03/27 职场文书
服务口号大全
2014/06/11 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
个人创业事迹材料
2014/12/30 职场文书
机关保密工作承诺书
2015/05/04 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
python中subplot大小的设置步骤
2021/06/28 Python