有没有用于ID3元数据的Perl或Python库?
基本上,我从我兄弟的iPod上拿了一堆音乐文件,这些文件保留了它们的元数据,但名字却是那种让人头疼的四个字符的名字,iPod似乎喜欢这样存储。我想写个简单的脚本,把这些文件名改成我想要的样子。不过,我对读取ID3元数据有没有好的库有点好奇。我比较喜欢用Perl或者Python。因为我在工作中用Perl比较多,所以对它比较熟悉,而Python我还需要多练习,这样也能让我的Python爱好者朋友们开心。
总之,简化一下:你能推荐一个好的库或者模块吗?无论是Python还是Perl,都能让我轻松提取一堆mp3文件的ID3元数据。
7 个回答
2
MP3::Tag 也是一个很不错的工具。如果你在找 Perl 的模块,建议你先去 search.cpan.org 网站看看。
use MP3::Tag;
$mp3 = MP3::Tag->new($filename);
# get some information about the file in the easiest way
($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo();
# Or:
$comment = $mp3->comment();
$dedicated_to
= $mp3->select_id3v2_frame_by_descr('COMM(fre,fra,eng,#0)[dedicated to]');
$mp3->title_set('New title'); # Edit in-memory copy
$mp3->select_id3v2_frame_by_descr('TALB', 'New album name'); # Edit in memory
$mp3->select_id3v2_frame_by_descr('RBUF', $n1, $n2, $n3); # Edit in memory
$mp3->update_tags(year => 1866); # Edit in-memory, and commit to file
$mp3->update_tags(); # Commit to file