最近我在我的申请中遇到了这个问题:
文件“main.py”,第31行, 在文件“app.pyc”,第205行,在运行中 TypeError:'NoneType'对象不可调用“
我的代码:
xml = EXML()
for pid, product in store.products.items():
xml.addRow()
xml.addCell((product['name']).encode('utf-8'), "String")
xml.addCell((product['symbol']).encode('utf-8'), "String")
xml.addCell((product['brand_name']).encode('utf-8'), "String") # line 205
xml.addCell(str(product['price']), "String")
Python 2.7 32位
它是有线的,因为这在大约1000次迭代后出现,没有任何普遍的问题。
此应用程序扫描在线商店以获取当前价格。
首先,我认为在某个地方我错过了某些东西,因此有None.encode('utf-8')
,但是没有,而且“。”。encode('utf-8')似乎有效。而且,我无法在测试网站上重现这个错误,只是有时会出现在与2500个产品一起努力工作的时候。
这个错误的其他可能来源是什么?
答案 0 :(得分:1)
>>> None.encode
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'encode'
>>> None()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
在给定的行上,您必须以某种方式设置调用None
的两个函数之一。你确定它不是下一行,因为覆盖str
是一个相当常见的错误。
答案 1 :(得分:0)
好的,解决了,它有点古怪,但是这个错误是由product['brand_name']
导致的,有时是BeautifulSoup.tag
(这次是标签),而不是我计划的BeautifulSoup.NavigableString
。我仍然没有理解为什么和wtf?
Anywat,非常感谢您的回复。 :)