python temp函数_使用python以及Core Temp软件实现CPU过热报警

先上源代码:

import pygame

from pygame.locals import *

import sys

import threading

import pyttsx3

import time

man = pyttsx3.init()

def overheatSpeak():

while True:

man.say("Overheat!")

man.runAndWait()

time.sleep(1)

thread = threading.Thread(target=overheatSpeak)

thread.start()

pygame.mixer.init()

pygame.init()

window = pygame.display.set_mode((500, 500))

pygame.display.set_caption("Overheat Alarm")

myfont = pygame.font.Font(None, 40)

white = (255, 255, 255)

blue = (0, 0, 255)

textImage = myfont.render("Overheat!", True, white)

pygame.mixer.music.load("alarm.mp3")

pygame.mixer.music.play(loops=-1, start=0.0)

while True:

for event in pygame.event.get():

if event.type == QUIT:

sys.exit()

window.fill(blue)

window.blit(textImage, (200, 250))

pygame.display.update()

在执行该程序之前,需要先使用pip install pygame安装pygame模块。

首先,我们先使用一系列import语句导入一些模块。pygame和pygame.locals用于显示pygame画布以及”Overheat”字样。sys模块用于退出程序,threading模块用于创建一个线程,让电脑朗读”Overheat”,pyttsx3用于调用语音接口,time模块用于在朗读后将线程暂时挂起,以便在警报声的空当中朗读。

后面,我们首先创建overheatSpeak()函数。该函数的函数体为一个while True:死循环,使用man.say()和man.runAndWait()让电脑进行朗读操作,并且调用time.sleep()让线程挂起1秒钟,以便在警报声的空当进行朗读。随后,我们使用threading.Thread()创建一个线程对象,命名为thread,再使用thread.start()使该线程对象运行。

下面,我们就该使用pygame模块进行画布创建和绘制以及警报声的播放了。首先,我们使用pygame.init()初始化pygame主模块,并使用pygame.mixer.init()模块初始化pygame的音频模块。随后,我们创建一个画布,命名为window,使用pygame.display.set_mode()函数设置画布的长、宽均为500。随后,我们使用pygame.display.set_caption()设置窗口的标题为”Overheat alarm”。随后,我们定义一种字体,命名为myfont。我们使用None表示使用默认字体,使用40表示把字体大小设置为40。随后,为了方便使用,我们把白色和蓝色以RGB格式使用元组形式提前进行声明。然后,我们使用myfrot.render()函数提前对字体进行渲染。第一个参数为字符串类型,表示文本内容,第二个参数为布尔值,表示是否使用抗锯齿。True为使用,False为不使用。之后,我们使用pygame.mixer.music.load()函数加载音频文件,并且使用pygame.mixer.music.play()进行播放。我们把loops设为-1,starts设为0.0。这样做可以实现无限循环播放,并且播放完一遍后从音乐头部开始。

后面,我们就进入了pygame窗口主循环。我们使用一个for语句获取窗口接收到的pygame事件。如果接收到的事件类型为QUIT,即用户单击了窗口右上方的“X”,程序就会调用sys.exit()函数以退出程序。

后面,我们使用window.fill()函数将背景绘制为蓝色,以及windows.bilt()函数把提前渲染好的文本绘制到画布上去。后面元组中的两个数字分别为x坐标和y坐标。最后,我们使用pygame.display.update()函数更新画布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值