Python: 发布 reading/writing mp3 文件
Python: Issue reading/writing mp3 file
我正在尝试从 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 文件只是噪音,不是音乐
- 如果我不使用编码="latin-1",则会出现一条错误消息,通常在读取文件时已经出现
- 在其中一条错误消息中,字母“ï”存在问题
mp3
文件不是文本文件。您需要将它们作为二进制文件打开,以便不翻译某些字符。您也不必担心二进制文件的编码问题,因为您处理的是二进制数据而不是文本。要以二进制形式打开文件,您需要将 a b
传递给文件模式。 open(file, mode)
with open(path.get(),"rb") as f:
然后您可以解析文件并获取二进制 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 文件只是噪音,不是音乐
- 如果我不使用编码="latin-1",则会出现一条错误消息,通常在读取文件时已经出现
- 在其中一条错误消息中,字母“ï”存在问题
mp3
文件不是文本文件。您需要将它们作为二进制文件打开,以便不翻译某些字符。您也不必担心二进制文件的编码问题,因为您处理的是二进制数据而不是文本。要以二进制形式打开文件,您需要将 a b
传递给文件模式。 open(file, mode)
with open(path.get(),"rb") as f:
然后您可以解析文件并获取二进制 mp3 文件中的文本数据。