是否有用于ID3元数据的Perl或Python库?

时间:2009-06-16 08:10:12

标签: python perl id3

基本上,我从我兄弟的iPod中收集了一堆音乐文件,这些音乐文件保留了他们的元数据,但有一些绝对可怕的四个角色名称,iPod似乎喜欢将它们存放下来。我想我会写一个很好的,快速的脚本来按我的意愿重命名它们,但我很好奇任何用于读取ID3元数据的好库。我更喜欢Perl或Python。我对Perl很满意,因为我在工作中使用它,而Python我需要更多练习,它会让我的Python传道者朋友们感到高兴。

无论如何,缩短版本:你能为Python或Perl命名一个好的库/模块,这样我可以轻松地从一堆mp3中提取ID3元数据吗?

7 个答案:

答案 0 :(得分:9)

当你CPAN Search时,

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开始的。