python命令行音乐库管理软件:beets使用

2020-02-18  本文已影响0人  mudssky

beet命令行接口的使用

beet 命令的形式大体上是这样的:

beet COMMAND [ARGS...]

01.功能列表

使用beet helpbeet help COMMAND可以快速浏览一下功能列表

Usage:
  beet COMMAND [ARGS...]
  beet help COMMAND

Options:
  --format-item=FORMAT_ITEM
                        print with custom format
  --format-album=FORMAT_ALBUM
                        print with custom format
  -l LIBRARY, --library=LIBRARY
                        library database file to use
  -d DIRECTORY, --directory=DIRECTORY
                        destination music directory
  -v, --verbose         log more details (use twice for even more)
  -c CONFIG, --config=CONFIG
                        path to configuration file
  -h, --help            show this help message and exit

Commands:
  config            show or edit the user configuration
  fetchart          download album art
  fields            show fields available for queries and format strings
  fingerprint       generate fingerprints for items without them
  help (?)          give detailed help on a specific sub-command
  import (imp, im)  import new music
  lastgenre         fetch genres
  list (ls)         query the library
  lyrics            fetch song lyrics
  modify (mod)      change metadata fields
  move (mv)         move or copy items
  remove (rm)       remove matching items from the library
  stats             show statistics about the library or a query
  submit            submit Acoustid fingerprints
  update (upd, up)  update the library
  version           output version information
  web               start a Web interface
  write             write tag information to files

02.import

beet import [-CWAPRqst] [-l LOGPATH] PATH...
beet import [options] -L QUERY

使用beet help import命令,我们发现import这个分支命令的这个使用文档已经比较详细了。而且我在之前的文章中已经介绍过了,所以这里就不再详细介绍了。

Usage: beet import [options]

Options:
  -h, --help            show this help message and exit
  -c, --copy            copy tracks into library directory (default)
  -C, --nocopy          don't copy tracks (opposite of -c)
  -m, --move            move tracks into the library (overrides -c)
  -w, --write           write new metadata to files' tags (default)
  -W, --nowrite         don't write metadata (opposite of -w)
  -a, --autotag         infer tags for imported files (default)
  -A, --noautotag       don't infer tags for imported files (opposite of -a)
  -p, --resume          resume importing if interrupted
  -P, --noresume        do not try to resume importing
  -q, --quiet           never prompt for input: skip albums instead
  -l LOG, --log=LOG     file to log untaggable albums for later review
  -s, --singletons      import individual tracks instead of full albums
  -t, --timid           always confirm all actions
  -L, --library         retag items matching a query
  -i, --incremental     skip already-imported directories
  -I, --noincremental   do not skip already-imported directories
  --from-scratch        erase existing metadata before applying new metadata
  --flat                import an entire tree as a single album
  -g, --group-albums    group tracks in a folder into separate albums
  --pretend             just print the files to import
  -S ID, --search-id=ID
                        restrict matching to a specific metadata backend ID
  --set=FIELD=VALUE     set the given fields to the supplied values

另外这些选项也可以在配置文件中进行默认行为的配置。

比如下面这些是我比较常用的配置

 
 import:
 # 决定日志文件的文件名,默认不生成日志文件
    log: musiclibrary.log
    # 取消默认标签,因为很多歌数据库搜不到都是自己加的标签,如果是平台下载的歌标签都加好了
    autotag: no
       # 设置为默认添加单曲,因为没有专辑听歌的习惯,单曲用的比较多
    singletons: yes
     # 喜好的语言,会决定标签的选择 有en jp es cn?等选项
    languages: []
    # 导入时显示详细信息
    detail: yes
    

然后关于--set=FIELD=VALUE可以添加自己定义的标签,或者设置已有的标签

这里需要注意的是,如果用set定义的字段是算到flexible filed里面的,不会写入文件的metadata。

03.list

beet list用于查询,后面跟查询字段,比如 title:abcde,把键和值用冒号连接起来。

使用-a选项搜索专辑,这时候对于单个项目的字段就不生效了,只有专辑层面的字段才能生效。

-p选项加上就会打印文件名,-f后面可以跟模板字符串,用于格式化输出。

使用双冒号连接键值可以用正则表达式进行搜索::

04.remove

从数据库中删除音乐。后面跟list一样的查询字符串

beet remove [-adf] QUERY

默认只是删除数据库中的数据,并且删除前会请你确认。加上-d选项就会把磁盘上的文件也删除

-f选项可以跳过确认步骤。

05.modify

beet modify [-MWay] [-f FORMAT] QUERY [FIELD=VALUE...] [FIELD!...]

修改单曲和专辑的metadata,并且数据库也会随之更新

提供查询字符串,同样是用冒号连接,但是修改的字段和值之间是用等号进行连接的

-a选择操作专辑的字段

modify命令输入后,会先把要修改的项目展示给你,等你确认完再执行,使用-y选项可以跳过这个过程

06.move

beet move [-capt] [-d DIR] QUERY

用于移动或者拷贝项目,可以匹配查询字符串

当我们在配置文件中修改了目录结构的时候,就可以用move指令让文件自动移动到对应的位置。

-c变移动为拷贝

-a查询字符串改为查询专辑

-d指定移动的目标目录

-p不移动,输出要移动的文件

07.update

beet update [-F] FIELD [-aM] QUERY

更新数据库,可能会移动文件。

这个操作会遍历数据库,提取所有文件的metadata来更新数据库。如果一个文件没有被编辑过,那么就不会触发upadate,因为它判断一个文件是否被修改是通过修改时间的参数。

-F参数,设置后只修改对应字段。

当专辑的一部分音乐发生变化的时候,beet是根据专辑的第一个音轨来确定专辑层面的字段,并且会

把第一个音轨的专辑信息拷贝到后面其他音轨。

08.write

beet write [-pf] [QUERY]

从数据库对文件写入tag,如果数据库发生变化了,可以使用这个命令吧变化反映到文件上。

(比如 你用mod修改了字段。)

-f就算文件和数据库匹配也写入一次。

09.stats

查看整个数据库相关的数据

-e精确模式,获得的文件大小和时长更准确,但是会花费更多的时间和资源

09.fileds

beet fields

列出所有可以用于查询或者格式化路径的字段。包括插件提供的字段和你的自定义字段。

010.config

beet config [-pdc]
beet config -e

没有参数的情况下会输出当前用户配置

--path输出配置文件的路径

--default输出默认配置

--clear默认情况下,输出配置的时候敏感信息比如密码不会显示,但是加上clear选项就可以显示出来了

--edit使用$EDITOR环境变量指向的编辑器编辑

011.Global Flags

有一些参数作用于所有的命令,这些参数放再beet和分支命令的中间

比如beet -v import

上一篇下一篇

猜你喜欢

热点阅读