我是一个完全菜鸟,刚开始学习Python。我正在使用Last.fm的pylast库来提取用户邻居及其某些属性的列表,但是当我尝试打印邻居的国家时,出现以下错误:
thrillofme
None
0
Traceback (most recent call last):
File "/Users/Moi/DSR/Week 2/My tutorials/my-lastfm-thing-3.py", line 24, in <module>
print country
File "/Library/Python/2.7/site-packages/pylast.py", line 944, in r
return _string(funct(*args))
File "/Library/Python/2.7/site-packages/pylast.py", line 3497, in _string
return text.encode("utf-8")
AttributeError: 'NoneType' object has no attribute 'encode'
查看此错误消息的其他解决方案,我得到的印象是
country
的编码方式不正确,无法打印,但是我不太清楚该怎么做。任何帮助将不胜感激!这是我的代码。import pylast
api_key = "XXX"
username = "Strangelove"
network = pylast.LastFMNetwork(api_key = api_key)
user = pylast.User(username, network)
# Let's pull a list of the specified user's Last.fm neighbours.
# Neighbours are users with a similar taste in music.
neighbours = user.get_neighbours()
for i in neighbours:
gender = i.get_gender()
age = i.get_age()
country = i.get_country()
print i
print gender
print age
print country
最佳答案
国家名称丢失,但是pylast
库没有正确处理这种情况。您必须自己测试空国家的情况:
if country.name:
print country