Spotipy:AttributeError:'list'对象没有属性'split'

问题描述 投票:0回答:1

我对python还是有些陌生-仅仅几个月了-但是我试图用AttributeError包裹住我在使用Spotipy捕获某些音频功能时不断遇到的AttributeError。

当我运行此命令时:

bb_songs = ['24ySl2hOPGCDcxBxFIqWBu', '5v4GgrXPMghOnBBLmveLac', etc...  # a list of Spotify song IDs
spotify = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials())
credentials = spotipy.oauth2.SpotifyClientCredentials()
print(spotify.audio_features(tracks=[bb_songs]))

我明白了:

(base) Matthews-MBP-2:spotipy MattJust$ python3 erase.py
Traceback (most recent call last):
  File "erase.py", line 20, in <module>
    print(spotify.audio_features(tracks=[bb_songs]))
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 1243, in audio_features
    tlist = [self._get_id("track", t) for t in tracks]
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 1243, in <listcomp>
    tlist = [self._get_id("track", t) for t in tracks]
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 1462, in _get_id
    fields = id.split(":")
AttributeError: 'list' object has no attribute 'split'

我是不是认为SpotiPy中的audio_features函数具有不喜欢我的列表的split函数,因为没有像“'track':'5v4GgrXPMghOnBBLmveLac'之类的字符串列表?]

任何帮助都将不胜感激!

马修

python spotify spotipy
1个回答
1
投票

尝试print(spotify.audio_features(tracks=bb_songs))删除方括号

而不是print(spotify.audio_features(tracks=[bb_songs]))

将列表括在一组方括号内会创建一个列表,其中包含一个元素,即您的列表。该函数尝试遍历列表元素,并对每个列表元素执行拆分功能。但是,由于要传递列表列表,因此该函数返回错误。

© www.soinside.com 2019 - 2024. All rights reserved.