位置: 编程技术 - 正文

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

  • 铜川缴纳房屋契税怎么算
  • 所得税季报中的季末资产总额怎么算
  • 工程项目结算流程图
  • 小规模纳税人租金发票的税率是多少
  • 个月所得税税率
  • 小企业会计准则没有以前年度损益调整科目
  • 增值税申报错误如何重报
  • 公共部门管理中具有哪些作用
  • 怎么计提应交税费
  • 无形资产增资账务处理
  • 费用跨年入账所得怎么算
  • 材料成本差异会计
  • 电子设备折旧率一般多少
  • 汽车折旧年份
  • 新车车牌照
  • 出口退税附加税什么时候缴纳
  • 红包营销活动方案
  • 广告费定金属于什么科目
  • 员工与单位解除劳动合同书范本
  • 海关新增成交方式exw条款,如何退税?
  • 跨年度的费用发票,如何做分录
  • 固定资产借方表示什么意思
  • 没有及时对公账户
  • 教育费附加记账
  • 资金账簿印花税申报期限
  • 1697510722
  • win10玩游戏提示内存不足无法处理此命令
  • 暗格里的秘密电视剧彩蛋百度网盘
  • 王者荣耀怎么解除关系
  • 合伙企业财产的管理和使用规定
  • 购买加油卡怎么入账
  • 如何理解应交税费未交增值税
  • php二维数组添加数据
  • 工程长期停工
  • linix unix
  • 一只正在树上吃的苹果
  • php制作简单的表单代码
  • 跨地区经营增值税预缴
  • 以公允价值计量的金融资产不计提损失准备
  • 电子发票和纸质发票的法律效力
  • 工行退款短信图片
  • 前端 组件化
  • Yii2——使用数据库操作汇总(增删查改、事务)
  • wx-java
  • 出口退税的会计科目一般记为什么
  • 公司基本户被冻结,其它账户也会被冻吗?
  • 劳务派遣公司账务处理
  • vue 同局域网访问不到的问题及解决
  • 普通发票被作废了还能报销吗
  • 年终奖的个税税率表
  • 固定资产折旧准备属于什么科目
  • 填写记账凭证的日期一般是会计人员填制记账凭证的
  • 个人所得税申报方式选哪个比较好
  • 承包经营的承包人工资能税前扣除吗
  • 劳务派遣公司差额征税怎么做账
  • 利润分配未分配利润怎么结转
  • 管理费用明细科目设置和核算需要注意哪些问题
  • sql server执行语句
  • SQLServer XML查询18句话入门教程
  • linux下mysql开启远程访问权限 防火墙开放3306端口
  • be备份linux系统
  • bcdedit.exe
  • 恢复已删除的聊天记录微信
  • mac图形界面
  • 如果在一个命令行上输入和执行多条命令
  • androidstudio listview
  • javascript date format
  • jquery手风琴折叠菜单
  • python爬虫全套教程
  • jqgrid获取选中行
  • window.open()参数传递及获取
  • jQuery position() 函数详解以及jQuery中position函数的应用
  • jquery怎么判断复选框选中
  • javascript的for循环
  • jquery中绑定和解绑的事件有哪些
  • unity加密代码
  • 一次$.getJSON不执行的简单记录
  • 什么是解放思想?请阐述解放思想和实事求是之间的关系
  • 2023年河北居民养老保险缴费时间
  • 江西公积金提取代办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设