如何在 python 中从批量文件的开头和结尾删除字节?



我需要此步骤的一些代码才能在python上批量执行mp3文件:

  1. 打开 *.mp3.mado
  2. 将" 49 44 33"之后的13个字节<-(ID3 ->偏移量0(替换为零字节
  3. 从文件末尾删除 334 字节
  4. 将文件保存到 *.mp3

关键部分是:

  1. 以二进制读/写模式打开文件,以便您可以根据需要查找文件并覆盖字节。
  2. 定位文件指针以定义写入操作的起点
  3. 使用truncate从当前位置到文件末尾删除字节。

循环可以更有效,而不是重复读取一个又一个 3 字节块。


import io
file_names = [...]
ID3_START = b'x49x44x33'
ZEROS = b'x00' * 13
for fname in file_names:
with open(fname, 'r+b') as f:
# Find the ID3 block
while f.read(3) != ID3_START:
f.seek(-2, io.SEEK_CUR)
f.write(ZEROS)
# Drop the last 334 bytes
f.seek(-334, io.SEEK_END)
f.truncate()

相关内容

最新更新