基本上,我从我兄弟的iPod中收集了一堆音乐文件,这些音乐文件保留了他们的元数据,但有一些绝对可怕的四个角色名称,iPod似乎喜欢将它们存放下来。我想我会写一个很好的,快速的脚本来按我的意愿重命名它们,但我很好奇任何用于读取ID3元数据的好库。我更喜欢Perl或Python。我对Perl很满意,因为我在工作中使用它,而Python我需要更多练习,它会让我的Python传道者朋友们感到高兴。
无论如何,缩短版本:你能为Python或Perl命名一个好的库/模块,这样我可以轻松地从一堆mp3中提取ID3元数据吗?
答案 0 :(得分:9)
search for ID3会出现几个Perl模块。几乎所有以“是否有库......”开头的Perl问题的答案都是检查CPAN。
我倾向于喜欢MP3::Tag,但像我这样的老人往往会发现一些合适的东西,而忽略了所有技术的进步,直到我们被迫改变。
答案 1 :(得分:5)
答案 2 :(得分:4)
答案 3 :(得分:2)
我对MP3::Info祝你好运。
答案 4 :(得分:1)
我认为来自python收件人的这个代码段:Rename MP3 files from ID3 tags可能会有所帮助。它使用id3reader lib。
答案 5 :(得分:1)
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
答案 6 :(得分:0)
Python Package Index有一个与搜索“id3”here匹配的python包列表,其中前几个似乎与您的需求相关。与上面的brian的回答一样,任何“有一个python模块......”的答案可能都是从PyPI开始的。