我知道此问题之前已得到解决,但所提供的解决方案似乎都不起作用,也许这就是我的代码的工作方式。
我有一个非常简单的课程:
class Artist:
def __init__(self, id):
self.id = id;
从另一个Python文件中,我创建了一个类的新实例并分配了Id值:
def parseartist(response):
parsed = json.loads(response.decode('utf-8'))
try:
l = parsed.get("artists", {}).get("items", {})
if len(l) > 0:
f = str(l[0])
g = f.split(",")
id = ""
for i in g:
if "'id':" in i:
idstr = i.split(" ")
id = idstr[2]
id = id.replace("'", "")
artist = Artist(id)
print(artist.id)
return artist
except KeyError:
print("KeyError")
艺术家ID值确实已分配(因为我在返回之前打印出它的值)。
然后,我尝试在另一个Python文件中使用此类,并尝试获取Artist Id的值我得到此错误:
AttributeError:'NoneType'对象没有属性'id'
artistclass = jsonreader.parseartist(response)
print(artistclass.id)
我使用Artist
迭代了dir()
课程,我可以看到id
作为属性。知道我做错了什么(除了编写错误的代码)?