IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> python实现音乐定时开关,模拟上下课铃声(含程序打包微小exe文件方法介绍) -> 正文阅读

[游戏开发]python实现音乐定时开关,模拟上下课铃声(含程序打包微小exe文件方法介绍)

本文分两部分,先介绍python实现模拟上下课定时铃声播放与关闭,再讲python程序打包成小型exe文件。

一、python实现模拟上下课定时铃声播放与关闭
不说废话,完整代码奉上。

import sys
import time
import datetime
import pygame


# 实现闹钟功能
def alert():
    music = input("请设置铃声(路径): ")  # D:\离骚-易烊千玺.mp3
    study_time = int(input("请设置上课时长(分钟): "))
    rest_time = int(input("请设置休息时长(分钟): "))
    start = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    while True:
        now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        sys.stdout.write('上课中:'+now + '\r')
        sys.stdout.flush()
        time.sleep(1)

        t1 = datetime.datetime.strptime(start, '%Y-%m-%d %H:%M:%S')  # 上课时间
        t2 = datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S')  # 下课时间
        
        if (t2 - t1).seconds == (study_time * 60):
            pygame.mixer.init()  # 初始化
            pygame.mixer.music.load(music)  # 加载音乐
            pygame.mixer.music.play()  # 播放音乐
            while 1:
                now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
                sys.stdout.write('下课中:'+now + '\r')
                sys.stdout.flush()
                if pygame.mixer.music.get_busy():  # 音乐放
                    if ((datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S') - t2).seconds < (rest_time * 60)):  # 时间未到
                        time.sleep(1)
                    else:  # 时间到了
                        pygame.mixer.music.stop()
                        break
                else:  # 音乐停
                    if ((datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S') - t2).seconds < (rest_time * 60)):  # 时间未到
                        pygame.mixer.music.play()
                        time.sleep(1)
                    else:  # 时间到了
                        break
            start = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())


def main():
    alert()


if __name__ == "__main__":
    main()

该程序提供较为灵活的用户选项,可选择自己喜欢的背景音乐、上课持续时间、课间休息时间。当歌曲时间小于下课时间,则循环播放。

启动程序后,输入设置选项,便看开始模拟上下课情景了
在这里插入图片描述

二、python程序打包成小型exe文件
当别人要引用这个程序时,若要事先配置好python环境,未免有些麻烦,我们可将其打包成一个独立完整的exe文件,在win10系统下只要双击exe文件,便可畅快运行。
下面介绍利用pycharm建立虚拟环境打包文件,

1、打开pycharm,左上角依次点击 File、New Project 创建一个新项目
在这里插入图片描述

① 设置虚拟环境位置(可新建一个目录)
② 选择虚拟环境 Virtualenv
③ 选择纯净的用python官网安装好的python编译器,如果事先没安装可以按照提示安装即可(千万别选先去自己安装的anaconda内的python编译器,由于anaconda事先自动安装了大量的其他包,会使得最终打包的exe文件非常大)。

2、建完环境,建议重启pycharm,重新进入刚刚建的虚拟环境,左上角依次点击 File -> Setting,进入python interpreter,点击 + ,搜索安装上述程序需要的第三方包,一定要安装pyinstaller,用于后面打包程序(本程序只需再安装pygame即可,其余是自带的基础包)。安装成功后,关掉当前窗口。
在这里插入图片描述
3、然后在当前虚拟环境下新建脚本文件
在这里插入图片描述

4、找到最下面终端按钮,进入后运行 pyinstaller -F alarm.py,完成后,去到具体的虚拟环境目录,找到dist文件夹,里面便是最终生成的exe文件,本程序exe文件也才10M多一点。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 22:03:23  更:2021-11-14 22:03:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 22:32:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码