Python:发出读/写mp3文件的问题

时间:2016-01-15 18:46:18

标签: python python-3.x mp3

我正在尝试从mp3文件中读取文本数据,然后将其保存到python中的其他mp3文件中。我不想简单地移动文件,因为我将来会尝试修改它的内容。

这是我的代码:

encoding1="latin-1"
with open(path.get(),"r", encoding=encoding_1) as f:
    file=f.read()
...
...
with open("D:\\test\\music_2.mp3","w+", encoding=encoding_1) as f:
    f.write(file)

我已经尝试过.encode()和.decode()与latin1和utf8的不同组合,但这也无效。

以下是关于我的问题的一些说明:

  • 由于某种原因,我保存的文件比原始文件多大约32.000个符号,即使它应该具有完全相同的长度
  • 我没有收到错误消息,但mp3文件只是噪音,而不是音乐
  • 如果我不使用encoding =“latin-1”,则会在读取文件时出现错误消息
  • 在其中一条错误消息中,字母“ï”
  • 出现问题

1 个答案:

答案 0 :(得分:1)

mp3个文件不是文本文件。您需要将它们打开为二进制文件,以便不翻译某些字符。在处理二进制数据而不是文本时,您也不必担心使用二进制文件进行编码。要以二进制文件打开文件,您需要将b传递给文件模式。 open(file, mode)

with open(path.get(),"rb") as f: