python-如何使用eyed3模块从Mp3中删除现有专辑封面图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-如何使用eyed3模块从Mp3中删除现有专辑封面图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1721字,纯文字阅读大概需要3分钟。
内容图文
![python-如何使用eyed3模块从Mp3中删除现有专辑封面图像](/upload/InfoBanner/zyjiaocheng/669/cca34e3a623049ac84abd67f69210383.jpg)
我一直在尝试使用eyed3模块来标记mp3文件,但不幸的是,我发现该模块文档难以理解,并且想知道是否有人可以帮助我?..文档可以在https://eyed3.readthedocs.io找到.
我试图使用它来删除现有的专辑封面图片,方法是:
import eyed3
x = eyed3.load('file_path')
x.tag._images.remove()
x.tag.save()
但是,当我运行此代码时,它给了我以下错误:
TypeError: remove() missing 1 required positional argument: 'description'
我不确定在哪里可以找到上述说明作为参数传递.我也查看了eyed3标记的源python文件,但是基于对代码的调查,我似乎无法找出该参数描述要传递的内容.
我试图传递一个空字符串作为参数,但是尽管脚本运行良好,没有任何错误,但它并未删除专辑封面图片.
请帮忙.
解决方法:
在深入研究之后,描述实际上就是图像的描述.调用x.tag.images时,您将得到一个ImageAccessor对象,该对象基本上只是一个包含图像的可迭代对象.如果将x.tag.images强制转换为列表,则可以看到它包含1个ImageFrame对象(在我的测试案例中).当您调用x.tag.images.remove()时,eyed3需要知道要删除的图像,并且它会根据图像描述选择要删除的图像.您可以使用类似的方法获取每个图像的描述.
[y.description for y in x.tag.images]
知道要删除的图像的描述后,您应该可以将其传递到删除功能中,并且该特定图像将被删除.
>>> x.tag.images
<eyed3.id3.tag.ImagesAccessor object at 0x1053c8400>
>>> list(x.tag.images)
[<eyed3.id3.frames.ImageFrame object at 0x1050cc4a8>]
>>> x.tag.images.remove()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jperoutek/test_env/lib/python3.6/site-packages/eyed3/utils/__init__.py", line 170, in wrapped_fn
return fn(*args, **kwargs)
TypeError: remove() missing 1 required positional argument: 'description'
>>> x.tag.images.remove('')
<eyed3.id3.frames.ImageFrame object at 0x1050cc4a8>
>>> x.tag.images
<eyed3.id3.tag.ImagesAccessor object at 0x1053c8400>
>>> list(x.tag.images)
[]
内容总结
以上是互联网集市为您收集整理的python-如何使用eyed3模块从Mp3中删除现有专辑封面图像全部内容,希望文章能够帮你解决python-如何使用eyed3模块从Mp3中删除现有专辑封面图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。