[英]TypeError(“'bool' object is not iterable”,) when trying to return a Boolean
我有一個奇怪的問題。 我有一個返回布爾值的方法。 反過來我需要再次返回該函數的結果,因為我無法直接從前端調用該方法。 這是我的代碼:
# this uses bottle py framework and should return a value to the html front-end
@get('/create/additive/<name>')
def createAdditive(name):
return pump.createAdditive(name)
def createAdditive(self, name):
additiveInsertQuery = """ INSERT INTO additives
SET name = '""" + name + """'"""
try:
self.cursor.execute(additiveInsertQuery)
self.db.commit()
return True
except:
self.db.rollback()
return False
拋出異常:TypeError(“'bool'對象不可迭代”,)
我根本沒有得到這個錯誤,因為我沒有試圖“迭代”bool值,只是為了返回它。
如果我返回一個字符串而不是boolean或int它按預期工作。 這可能是個問題?
追溯:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\bottle.py", line 821, in _cast
out = iter(out)
TypeError: 'bool' object is not iterable
回顧一下追溯:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\bottle.py", line 821, in _cast
out = iter(out)
TypeError: 'bool' object is not iterable
您的代碼不是迭代值,而是接收它的代碼。
解決方案是:返回一個可迭代的。 我建議您將bool轉換為字符串( str(False)
)或將其包含在元組中( (False,)
)。
總是閱讀回溯:它是正確的,它是有幫助的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.