基于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中的socket模块使用代理实例
May 29 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
用Python设计一个经典小游戏
May 15 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
一道python走迷宫算法题
Jan 22 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
python redis 删除key脚本的实例
Feb 19 Python
pandas.read_csv参数详解(小结)
Jun 21 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
如何学习Python time模块
Jun 03 Python
Python如何输出百分比
Jul 31 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
如何基于python实现单目三维重建详解
python如何读取和存储dict()与.json格式文件
Jun 25 #Python
python运行脚本文件的三种方法实例
Jun 25 #Python
如何利用python创作字符画
利用Python实时获取steam特惠游戏数据
Python first-order-model实现让照片动起来
python热力图实现的完整实例
You might like
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
定义php常量的详解
2013/06/09 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
Python实现的金山快盘的签到程序
2013/01/17 Python
使用python实现baidu hi自动登录的代码
2013/02/10 Python
使用python分析git log日志示例
2014/02/27 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python 堆和优先队列的使用详解
2019/03/05 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
公司周年庆典标语
2014/10/07 职场文书
优秀校长事迹材料
2014/12/24 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
python实现简单倒计时功能
2021/04/21 Python
Python数据结构之队列详解
2022/03/21 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL
nginx七层负载均衡配置详解
2022/07/15 Servers