首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:需要一个类似字节的对象,而不是'str‘

TypeError:需要一个类似字节的对象,而不是'str‘
EN

Stack Overflow用户
提问于 2019-12-29 18:02:50
回答 1查看 78关注 0票数 0

我该怎么办?我得到了这个错误。我想为FLAC添加一些标签。我找了一遍,但什么也没找到。请帮帮我。

代码语言:javascript
复制
    Traceback (most recent call last):
  File "indir.py", line 50, in <module>
    audio.save()
  File "/usr/local/lib/python3.6/dist-packages/mutagen/_util.py", line 169, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/mutagen/_util.py", line 140, in wrapper
    return func(self, h, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/mutagen/flac.py", line 847, in save
    self._save(filething, self.metadata_blocks, deleteid3, padding)
  File "/usr/local/lib/python3.6/dist-packages/mutagen/flac.py", line 864, in _save
    metadata_blocks, available, content_size, padding)
  File "/usr/local/lib/python3.6/dist-packages/mutagen/flac.py", line 154, in _writeblocks
    data += cls._writeblock(block)
  File "/usr/local/lib/python3.6/dist-packages/mutagen/flac.py", line 126, in _writeblock
    datum = block.write()
  File "/usr/local/lib/python3.6/dist-packages/mutagen/flac.py", line 620, in write
    f.write(self.data)
TypeError: a bytes-like object is required, not 'str'

我的代码:

代码语言:javascript
复制
audio = FLAC("music.flac")
audio['artist'] = sarki.artist.name
audio['title'] = sarki.name
pic = Picture()
pic.type = id3.PictureType.COVER_FRONT
pic.width = 640
pic.height = 640
pic.mime = 'image/jpeg'
pic.data = "music.jpg"

audio.add_picture(pic)
audio.save()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 21:06:05

我认为错误在这里:

代码语言:javascript
复制
pic.data = "music.jpg"

您正在尝试将图片的图像数据设置为字符串。我猜您希望将图像数据设置为文件music.jpg的内容。如果是这样,请尝试将此行替换为以下两行:

代码语言:javascript
复制
with open("music.jpg", "rb") as f:
    pic.data = f.read()

这是在an example in the Mutagen API reference之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59518408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档