TagLib的Python绑定
项目描述
TagPy
TagPy是一组针对Scott Wheeler的TagLib的Python绑定。它基于Boost.Python,这是一个包装生成库,它是Boost C++库集的一部分。
就像TagLib一样,TagPy可以
- 读取和写入版本1和2的ID3标签,版本2支持许多支持的帧类型(在MPEG Layer 2和MPEG Layer 3、FLAC和MPC中),
- 访问Ogg Vorbis文件和Ogg Flac文件中的Xiph注释,
- 访问Musepack和MP3文件中的APE标签。
- 访问WAV文件中的ID3版本2标签
所有这些都有它们自己的特定接口,但TagLib的通用标签读取和写入机制也得到支持。
您可以在test/目录中找到示例。
安装TagPy
如果您很幸运(目前是x86 Linux上的Python 3.7-3.9),您可能只需运行pip install tagpy
,这将使用预编译的轮子。如果由于编译问题失败,您需要先安装一些东西。
- Debian:
apt-get install libboost-python-dev libtag1-dev
- Fedora:
dnf install boost-python3-devel taglib-devel
- Alpine 3.17:
apk add taglib-dev boost1.80-python3
(或其他版本的boost*-python3
)其他配置目前不支持,但欢迎提交带有CI检查其他版本的补丁。
TagPy 兼容
- TagLib 1.4
- Boost.Python 1.74
- gcc 10.2.1
稍微旧版本的 gcc 和 Boost.Python 应该没问题,但 TagLib 的 1.4 版本要求是固定的。任何新版本都可能没问题,并且请为任何失败的情况提交错误报告。
使用 TagPy
使用 TagPy 就像这样简单
>>> import tagpy
>>> f = tagpy.FileRef("la.mp3")
>>> f.tag().artist
u'Andreas'
test/
目录包含更多示例。
通常,TagPy 复制了 TagLib API,但有几点显著的例外
-
命名空间(即 Python 模块)以小写字母拼写。例如,
TagLib::Ogg::Vorbis
现在是taglib.ogg.vorbis
。 -
枚举形成它们自己的作用域,并且不属于任何封装类的作用域,如果有。
例如,枚举
TagLib::String::Type
中的值TagLib::String::UTF16BE
现在是tagpy.StringType.UTF16BE
。 -
TagLib::String
对象映射到并期望作为 Python unicode 对象。 -
TagLib::ByteVector
对象映射到常规 Python 字符串对象。
项目详情
关闭
tagpy-2022.1.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8939bf0ccd7c4e776feccb1d5e7b72f31e11a0c8c5f9e37154bad6a9fa444bff |
|
MD5 | 9e073a966d56b7dfaa6aed0f4cc1182b |
|
BLAKE2b-256 | 21b6357e0d9ef244b330fc119b3e7699a780b4044d152274424c02cd38d02de9 |
关闭
哈希值 用于 tagpy-2022.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 76c0e9fb43d4b5fe9d2fdd88387669ca5ead102cab21d8b5f13f81322d0e19fc |
|
MD5 | 3c0bf215a1feaf6c73788f461beb152d |
|
BLAKE2b-256 | bf66ab5f392527f49ac9d62b1d1182dfbb4f79b46c298b095d2848cebd2efedf |
关闭
哈希值 用于 tagpy-2022.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 50eda00e151a4bb27c50452a2f23eddebb6d0574fa043e3ad254ddb5a28299f4 |
|
MD5 | 53678b6279d4ef3c003bfcbb619ff264 |
|
BLAKE2b-256 | d52f4eaeaf98e7f91114579f3106710236fb1f3cccda82b9f961bc283c723d25 |
关闭
哈希值 用于 tagpy-2022.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0535daa11972cef51a061f0142e1aee1f96bf41db84d0ccdeb7e4e4ffe344ac1 |
|
MD5 | e5d2d01b328a34c15a6b4ac59db960bc |
|
BLAKE2b-256 | 04cc1665347408ea6e12b779520b6caa763de12ecbe6e5ddf54dff4549aee7ce |