我想从电影文件名中提取元数据(标题和年份)。
文件名的格式并不标准,但也不是随机的,因此我尽可能覆盖了许多情况。
为了给你一个想法,这是一些文件名的示例:
samples = ['The Movie Title.avi',
'The Movie Title DVDRIP. Useless.info.avi',
'The Movie Title [2005].avi',
'The Movie Title (2005) [Useless.info].avi',
'The Movie Title 2005 H264 DVDRip Useless-Info.avi',
'The Movie Title 2005 XviD Useless info.avi',
'The Movie Title {2005} DVDRIP. UselessInfo.avi',
'The.Movie.Title.2005.Useless.info.avi',
'[Useless.info]_The.Movie.Title.2005.Useless.avi']
无论在哪里出现UselessInfo
,都是因为那里写的内容可能是任何东西,不能用来获取信息(从文件到文件的变化)。还要注意,'The Movie Title'
可能是一个带有数字或非字母字符的东西,例如:The Movie Title 2 - The Return'
。
预期输出应该是一个像这样的字典:
metadata = {'title': 'The Movie Title', 'year': '2005'}
目前我正在使用一系列正则表达式,但我不知道是否有更好的方法来实现这个功能。