基于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中的多进程、多线程、协程
Jun 22 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
儿童编程python入门
May 08 Python
pandas通过索引进行排序的示例
Nov 16 Python
对python 读取线的shp文件实例详解
Dec 22 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
Python函数的默认参数设计示例详解
Dec 01 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 Python
如何基于python实现单目三维重建详解
python如何读取和存储dict()与.json格式文件
Jun 25 #Python
python运行脚本文件的三种方法实例
Jun 25 #Python
如何利用python创作字符画
利用Python实时获取steam特惠游戏数据
Python first-order-model实现让照片动起来
python热力图实现的完整实例
You might like
php二分法在IP地址查询中的应用
2008/08/12 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
javascript几个易错点记录
2014/11/26 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
vue实现二级导航栏效果
2019/10/19 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
极简的HTML5模版
2015/07/09 HTML / CSS
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
工作简报格式范文
2015/07/21 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android