位置: 编程技术 - 正文

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自动化步骤)

  • 税控盘扣税缴税分录怎么写
  • 提供劳务应收未收的款项
  • 资产负债表应付账款怎么算
  • 红字发票申请表盖什么章
  • 会计准则哪些科目变化最大
  • 取得保险赔偿的会计分录
  • 生产企业运费收入怎么处理?
  • 行政单位在建工程入账
  • 员工对公司造成损失的,可以起诉吗
  • 精创云所有者权益为负
  • 负利润需要交所得税吗
  • 会务费发票要附上照片吗
  • 工资分两次发的风险是什么?
  • 建筑材料发票备注栏没写工程名称和工程地点能用吗
  • 生产性生物资产计提折旧的方法
  • 返利红字发票怎么开具
  • b4纸张尺寸
  • win7为什么不能安装软件
  • 未担保余值的账户怎么查
  • hypertrm.exe系统错误
  • shell检查变量是否为空
  • 给实习生发放工资怎么纳税?
  • 小规模企业有收入吗
  • 上月发票这月冲红,对这月有影响吗
  • 苹果电脑字体文件怎么拖出来
  • 无形资产摊销的会计及账务处理
  • 准予在企业所得税税前扣除的有
  • oppor11s输入法怎么清除记忆
  • php获取网页所有页数
  • 权益工具与金融负债的转换
  • 嵌入式软件开票税负是1%还是3%
  • token验证器
  • springcloud阿里巴巴
  • css选择器详解
  • ninja命令使用
  • php自加
  • 行政事业单位个税代扣怎么记账
  • 长期股权投资入账价值
  • 第6章 分支语句和逻辑运算符
  • mongodb安装包下载
  • 培训费属于什么
  • 小规模企业免征增值税如何做账
  • mysql5.5数据库安装教程
  • 贷款计入什么科目
  • 购买办公用品属于什么凭证类型
  • 增值税附加税的比例
  • 个人向公司借款怎么写
  • 工会疗养费用怎么做账
  • 出口样品的销售好做吗
  • 主营业务收入的英文
  • 物流货到付款可以吗
  • 黑白电子版照片如何变成彩色
  • 请根据你的了解叙述c++的特点,c++对c有哪些发展
  • coms恢复出厂设定还原bios设置方法步骤讲解
  • win7系统环境变量无法编辑怎么办
  • win2003 enterprise序列号
  • use crt secure
  • windows server 2008 r2激活密钥
  • windows取消隐藏文件夹
  • windows 进度条
  • 操作系统的定义
  • linux ftp服务端
  • 梦见古字
  • win10更新补丁导致打印机
  • Linux中的stat命令使用简介
  • cocos 2d x
  • jquery实现搜索功能
  • vi和vim的关系
  • shell中判断文件是否存在
  • unity接入安卓sdk
  • unity3d创建模型
  • angularjs删除数组元素
  • js如何获取浏览器窗口大小
  • python批量创建文件
  • javascript教程
  • python 技巧
  • 请领导批示的格式
  • 保险公司个人所得税扣除标准是多少
  • 拟录用是正式录用吗
  • 为什么10月份社保交不了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设