第 10 行对每个 artistDir 调用 eachDir() , 第 10 行的 { 和第 17 行的 之间的代码形成另一个处理 albumDir 的闭包 。
第 14 行 , 在每个 albumDir 上调用 eachFile() , 第 14 行的 { 和第 16 行的 之间的代码形成了处理专辑内容的第三级闭包 。
在本文的范围内 , 我对每个文件唯一需要做的就是开始构建信息表 , 我将其创建为一个以竖线分隔的 CSV 文件 , 它可以导入 LibreOffice 或 OfficeOnly 或任何其他电子表格 。 现在 , 代码输出前三列:艺术家目录名、专辑目录名和内容文件名(同样 , 第 2 行输出 CSV 标题行) 。
在我的 Linux 笔记本电脑上运行它会产生以下输出:
$ groovy TagAnalyzer.groovy | head
artistDir|albumDir|contentFile
Habib Koite & Bamada|Afriki|02 - Ntesse.flac
Habib Koite & Bamada|Afriki|08 - NTeri.flac
Habib Koite & Bamada|Afriki|01 - Namania.flac
Habib Koite & Bamada|Afriki|07 - Barra.flac
Habib Koite & Bamada|Afriki|playlist.m3u
Habib Koite & Bamada|Afriki|04 - Fimani.flac
Habib Koite & Bamada|Afriki|10 - Massake.flac
Habib Koite & Bamada|Afriki|11 - Titati.flac
Habib Koite & Bamada|Afriki|03 – Africa.flac
[...
Richard Crandell|Spring Steel|04-Japanese Lullaby [Richard Crandell
.flac
Richard Crandell|Spring Steel|Spring Steel.pdf
Richard Crandell|Spring Steel|03-Zen Dagger [Richard Crandell
.flac
Richard Crandell|Spring Steel|cover.jpg
$
在性能方面:
$ time groovy TagAnalyzer.groovy | wc -l9870real0m1.482suser0m4.392ssys0m0.230s$
又好又快 。 它在一秒半内处理近 10000 个文件!对我来说足够快 。 可观的性能、紧凑且可读的代码 , 还有什么不喜欢的?
- 软件|好用的图片编辑工具,我只推荐这几个
- 本文转自:新华社(科技)我国成功发射遥感三十五号05组卫星9月6日12时19分|(科技)我国成功发射遥感三十五号05组卫星
- Windows|在广州如何搭建垂直电商平台
- 本文转自:大众日报“我们加班加点花了两个多月时间|远程视频委托代办、移动终端上门受理……新泰不动产登记实现“掌上办”
- |只需半数价格便能比肩旗舰!真我旗舰价格跌至新低,闭眼买都行
- 智能手机|从智能手机到智能手表,如何成就个性化医疗?
- 电子商务|在广州如何搭建垂直电商平台
- 亚马逊|亚马逊、Lazada、Shopee、速卖通、阿里国际、美客多、eBay、沃尔玛测评自养号,产品权重该如何提高?
- 本文转自:新华社新华社照片|(科技)(1)我国成功发射微厘空间一号S3/S4试验卫星
- 本文转自:中工网国家职业资格是怎么设置的呀?准入类职业资格和水平评价类职业资格有什么区别...|国家职业资格是如何设置的?一图看懂