位置: 编程技术 - 正文

pygame加载中文名mp3文件出现error(pygame如何加载图片)

编辑:rootadmin

推荐整理分享pygame加载中文名mp3文件出现error(pygame如何加载图片),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pygame显示中文字体,pygame如何加载图片,pygame在哪个文件夹,pygame.freetype.font,pygame如何加载图片,pygame.locals,pygame.freetype.font,pygame显示中文,内容如对您有帮助,希望把文章链接给更多的朋友!

前言: 

今天刚刚做了个音乐列表,但笔者发现在指定目录mp3文件名为中文时,便出现pygame.error,不能正确加载指定mp3文件.写好的代码不想再改了,来个小测试吧

pygame播放mp3文件:

这里笔者只介绍一种好理解的方法,具体请查看pygame.mixer.music官方文档

打开官方文档,笔者发现,像是发现了新大陆一样,这家伙太强大了,而现在我只能用它来播放我的mp3.好吧,剩下的等待以后来发掘吧.干什么讲什么,来个播放mp3 test代码:

其中,path表示待播放mp3文件的路径及文件名.这里笔者用的是源生的idle,可以正常播放此mp3.

发现Bug:

pygame加载中文名mp3文件出现error(pygame如何加载图片)

接着就是笔者在下午做完音乐列表测试播放的时候遇到的问题,即当待加载mp3文件名包含中文时,出现的pygame.error.

这就尴尬了,通过输出的path,发现中文没有乱码,笔者google了下,发现中文的社区有人说python应该尽量避免中文.也有人说可以改一下编码.但笔者试了,貌似不可以.英文社区类似Stack Overflow,均没有关于这个问题的解决方法.毕竟人家老外不太关心''我们自己的事''.于是,爬了半天,没找到有效的解决办法.好吧,这是硬伤.当然,大牛们应该是可以通过更改pygame中源代码解决的,这不是我能做的事^_^.

debug:

笔者来了个好玩的方法,应该还有更好的实现方法,我先来厚着脸皮说一下我的debug思路:

首先,当遇到中文名mp3是出现pygame.error 这时,程序出现严重错误.很自然想到try语句.这样,当遇到中文名mp3时出现error,自动转到except内容.笔者想到复制待播放文件到指定目录,并重命名为非中文.最后加载此非中文mp3文件,从而绕过了pygame中文识别的硬伤.下面上代码:

运行效果:

此时,程序已经可以正常播放中文名mp3文件.其实此问题并没有从本质上解决pygame中文识别问题,而是绕过了这个问题.这个方法也是有个弊端,就是会产生play.mp3这个文件,在做项目的时候可以放在缓存目录里.

至此,关于解决今天下午遇到的pygame中文识别问题叙述完毕,如有更好的方法,望请评论告知,谢谢.

刚才看了下python3.3.3 pygame目录,文件mixer.pyd科普了一下.pyd后缀,发现和dll一样是二进制文件,更改内容需要反编译.也就是说python并不是完全开源的.

标签: pygame如何加载图片

本文链接地址:https://www.jiuchutong.com/biancheng/377175.html 转载请保留说明!

上一篇:Python自动发邮件脚本(python自动发邮件内容)

下一篇:Python+Selenium自动化实现分页(pagination)处理(selenium自动化步骤)

  • 车船税计入管理费用什么明细
  • 未开具的增值税专用发票怎么作废
  • 应收账款逾期未收回账务处理
  • 免抵退税额如何填报
  • 长期待摊费用影响什么
  • 纳税申报财务报表上期数
  • 预提利息收入纳税调整
  • 收到小微企业补助会计分录
  • 公司退款给客户怎么写
  • 外币借款汇兑差额计入什么科目
  • 企业合并所得税筹划
  • 购买办公用品并分发有关部门会计分录
  • 广告制作选哪个专业好
  • 如何计算纳税调整增加额
  • 财务会计中的费用
  • 公司店铺刷单的收入怎么记账
  • 最新粮食购销企业税务规定
  • 利息怎么算的计算公式举例
  • 出口退税免退税
  • 公司处置车辆税金怎么算
  • 科研费收入如何入账?
  • 销售费用占收入比例叫什么
  • 工会经费会计分局
  • 一般纳税人出租其2016年4月30日前取得的不动产
  • 鸿蒙怎么添加
  • linux查看du
  • 盈利结转利润
  • 外币兑换业务的银行
  • 开启资源管理器自动刷新功能
  • 增值税专用发票有几联?
  • 伊斯塔神
  • phpstrcmp函数
  • 出口的发票怎么开视频
  • 给客户开的发票,在邮寄过程中丢了怎么办?
  • 给深度学习研究生的入门建议(未完待续ing)
  • 静态html怎么部署到服务器
  • vue 快速上手
  • 库存商品盘点表
  • 对公取款
  • 浅谈php设计模式的理解
  • 电子发票该怎么打印出来
  • 印花税漏交了有什么影响
  • 劳务报酬包括哪些
  • 印花税申报成功怎么撤回
  • 福利费的进项税怎么做账
  • 什么是库存现金限额?为什么要核定库存现金限额
  • 不是销售性质的工作
  • 电子设备折旧残值率
  • 车费报销记入哪个账户
  • 预计负债可以获取利润吗
  • sql查询字段被包含的内容
  • sql提取指定字符串
  • 微信昵称带符号图案
  • uc聊天大厅
  • 删除windowsapp
  • mac如何重装系统win10
  • 电脑ems是什么意思啊
  • 怎么远程登录另一台电脑
  • 用win7的人多吗
  • linux做raid10
  • linux集群的作用和意义
  • Win7如何开启蓝牙
  • win8系统盘清理
  • linux命令使用方法
  • 简单射击原理
  • 趣谈 linux 操作系统
  • python中读取excel
  • perl常用函数
  • unity怎么做触屏按键
  • vim fold
  • nodejs 模块
  • Nodejs+express+ejs简单使用实例代码
  • js随机生成6位数
  • javascript教程完整版
  • 安卓开发速成
  • 唐山宴订餐电话是多少
  • 税控盘开电子发票流程
  • 拉萨税务局拉巴卓玛
  • 担保机构和银行的区别
  • 文化事业建设费减免政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设