我想删除音频文件中的一段数据,例如iTunes用于显示歌曲列表。它还使用此数据对它们进行排序。我相信这部分数据是文件元数据tag
的一部分。
我想使用自写的Python脚本执行此操作。我不想手动执行此操作或更改计算机上的任何内容。
我发现无法使用stat模块来这样做。我正在使用Python 2.7.10
。
答案 0 :(得分:0)
我认为主要问题是您正在以首先截断文件的模式打开文件。 seek()
指向的方式和位置也不正确-它只需要执行一次,因为读写文件会自动提高其内部当前位置。
尝试这样做,这将使文件的其余部分保持完整,并且如果找到ID3v1标签,则仅将其内容清零。
import os
import sys
vPath = "/Users/klausdorsch/Desktop/wegdamit/08ICanMakeYouAManReprise.mp3"
with open(vPath, "r+b") as vFile: # Open existing file for reading and writing.
vFile.seek(-128, os.SEEK_END) # Seek 128 bytes before end of file.
# Verify ID3v1 tag header starts there.
tag = vFile.read(3)
if tag == 'TAG':
vFile.write('\x00' * 128-3) # Zero-out tag's contents.
sys.exit()