使用LyricsGenius调用save_lyrics出现TypeError,如何解决?
解决LyricsGenius中save_lyrics()的TypeError问题
你遇到的TypeError是因为当前使用的LyricsGenius版本和教程依赖的旧版本API不兼容——新版本的save_lyrics()方法已经移除了format参数,改用文件名后缀自动识别格式,或者通过extension参数指定格式。
解决方案1:通过文件名后缀自动匹配格式
直接去掉format参数,让文件名的后缀对应你要保存的格式:
if song is not None: # 保存为TXT格式,文件名后缀改为.txt song.save_lyrics(filename='lyrics/txt/'+filename+'.txt') # 保存为JSON格式,文件名后缀保持.json song.save_lyrics(filename='lyrics/json/'+filename+'.json')
解决方案2:用extension参数指定格式(新版本支持)
如果不想修改文件名后缀,可以用新版本新增的extension参数明确指定保存格式:
if song is not None: # 指定保存为txt格式 song.save_lyrics(filename='lyrics/txt/'+filename+'.json', extension='txt') # 指定保存为json格式 song.save_lyrics(filename='lyrics/json/'+filename+'.json', extension='json')
备选方案:安装旧版本LyricsGenius(不推荐)
如果一定要和教程代码完全一致,可以安装教程当时使用的旧版本(比如2.0.2):
pip install lyricsgenius==2.0.2
但旧版本可能存在API兼容性问题和未修复的bug,建议优先使用前两种适配新版本的方案。
内容的提问来源于stack exchange,提问作者danielphd
相关产品推荐
相关产品推荐

