我foobar2000有在用custom info這個components,他可以讓你在foobar2000裡面幫音樂增加artist、album、title等..以外的欄位,除了管理音樂方便,還可以配合Inactive Tracks (foo_skip) 、Playback Statistics Custom (foo_playback_custom) 等等,可是每次想用它的remove dead entries功能(清失效的檔案路徑)都會錯誤,我猜可能是因為日文的關係...,他使用的資料庫是sqlite3加上要處理unicode的檔名,剛學的python剛好可以派上用場,幾行就稿定了:
他的資料庫(custominfo_sqlite.db)格式
table : quicktag
fields: url ,subsong,fieldname,value
Python程式碼
# -*- coding: utf-8 -*- import sqlite3 import os con = sqlite3.connect(r"custominfo_sqlite.db") cur = con.cursor() cur.execute('select url from quicktag group by url') res = cur.fetchall() dead_fp=[] for row in res: (url,)=row fp=url.replace('file://','') if not os.path.exists(fp) : print fp url2='file://'+fp cur.execute('delete from quicktag where url=?',(url2,)) dead_fp.append(url2) con.commit() con.close()
對了...有人要拿去用的話,一定要記得備份custominfo_sqlite.db
沒有留言:
張貼留言