目录

  • 前言
  • 1 查看 PyPI
  • 2 修改源代码
  • 3 参考
  • 总结

前言

mp3play 是一个仅适用于 Python 2的库。由于代码简单,功能单一,又着实好用,所以我就打算尝试略略修改一下源代码,使其可在 Python 3调用。本文是一个记录。


1 查看 PyPI

mp3play module 在 PyPI 上的主页很简单,内容也很少。

这么一个停更的库还需要学习吗?没办法,简单好用。

先安装 mp3play module 到 Python 2: pip install mp3play 这是可正常调用的。
查看源文件(以我路径为例):C:\Python27\Lib\site-packages\mp3play

再安装 mp3play module 到 Python 3: pip install mp3play
查看源文件:… \Lib\site-packages\mp3play 这个文件夹里的两个脚本是后面操作的目标。


2 修改源代码

  1. 使用 2to3.py 进行代码转换(略)。

  2. 转换结果就是 init.py 并无转换提示,反倒是另一脚本 windows.py 出现了提示,所以仅需对该文件修改即可。

  3. 针对提示进行修改一:print 'Error %s for "%s": %s' % (str(err), txt, buf) 改成 print(…)

  4. 保存后,尝试 import mp3play,报错。这里未能抓图。

  5. 修改二:原代码 errorcode = self.w32mci(str(command), buffer, 254, 0),修改后是两行:

command = str(command).encode("ascii")    # ascii 码可以,utf-8 也可以,总之需要编码
error_code = self.w32mci(command, buffer, 254, 0)

6.保存文件后,尝试 import mp3play,完美!


3 参考

  1. 【pip command】之 pip install
  2. python3中mp3play库如何正确使用?

总结



Python 3中 mp3play module 的使用相关推荐

  1. python中的module

    Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文件,在另一个文件中需要import时,将事先写好的.py文件拷贝到当前目录,或者是在sys.path中增加事先写好的.p ...

  2. python中模块(Module)和包(Package)的区别 (导入模块、导入包)(import导包)

    如下结构,mycompany就是包,abc.py和xyz.py就是模块 mycompany ├─ __init__.py ├─ abc.py └─ xyz.py 参考文章:Python中模块(Modu ...

  3. ImportError: Loader FrozenImporter cannot handle module inspect ||python ide中正常运行,用pyinsta打包为exe文件报错

    1 报错图片 2 报错信息 zlib.error: Error -3 while decompressing data: incorrect header checkThe above excepti ...

  4. Python+Anaconda中库的安装

    查看Anaconda中的Python的开发环境 (1)conda env list 不同环境中库的安装 方式一:  Pycharm+Anacond安装完成后的Python文件创建以及No module ...

  5. pyhton 安装pip 以及 numpy (解决python:ModuleNotFoundError:No module named numpy 等类似缺包问题

    https://blog.csdn.net/phs999/article/details/79218869 pyhton 安装pip 以及 numpy (解决python:ModuleNotFound ...

  6. Python 学习之二: module, import 与 import as

    2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/fanshengchong/article/details/7039692 Pyth ...

  7. 如何在Python Interpreter中重新导入更新的包? [重复]

    本文翻译自:How to re import an updated package while in Python Interpreter? [duplicate] This question alr ...

  8. python面试常见问题-Python面试中常见的40个问题

    1)什么是Python?使用Python有什么好处? Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理.Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个 ...

  9. Python 循环中的陷阱(转载)

    Python 中的 for 循环和其他语言中的 for 循环工作方式是不一样的,今天就带你深入了解 Python 的 for 循环,看看它是如何工作的,以及它为什么按照这种方式工作. 循环中的陷阱 我 ...

最新文章

  1. SSE-CMM5个级别划分概述
  2. MarkDown写blog(测试)
  3. 3.2.1 造成误差的原因分析
  4. Deep Learning(深度学习)学习笔记整理系列之(四)
  5. InnoDB的ib_logfile写入策略
  6. MyBatis逆向工程自动生成代码(附数据库表结构)
  7. C语言实现interpolation search插值查找算法(附完整源码)
  8. Windows下使用zerotier时提示PORT_ERROR错误
  9. 如何复位一个流的failbit和eofbit
  10. Apache RocketMQ:简单消息示例
  11. AVEVA软件编程是C语言么,AVEVA PDMS 三维文字工具
  12. (转)MySQL命令行--导入导出数据库
  13. vue-router 懒加载优化
  14. 期末C语言45分能过的吗,C语言—期末小黄衫获奖感言
  15. cogs 1811. [NOIP2014]螺旋矩阵
  16. kvm实战之搭建一个web服务来进行ks.cfg文件的引导(三)
  17. offlc计算机等级报一级还是二级,请问计算机二级MS Office 和MS Office高级应用是一个东西吗?...
  18. ipad打开网页无法播放视频
  19. 互联网“晒娃”安全须知
  20. fik在计算机领域英语缩写,计算机常用英语词汇表

热门文章

  1. 弘辽科技:拼多多发货中途改地址可以吗?怎么改?
  2. 2021-02-04
  3. 闩锁(latch)概述
  4. 女生们是怎样观察男生的呢
  5. 2023年中职网络安全竞赛解析——隐藏信息探索
  6. 从eclipse官网下载eclipse
  7. Adobe illustrator安装
  8. 阿里云无影云桌面服务关联角色设置及删除方法
  9. python 录音左右声道_Python分离立体声wav压缩文件的左右声道
  10. P3842 [TJOI2007]线段(线性dp,分类讨论)