簡體   English   中英

嘗試返回布爾值時,TypeError(“'bool'對象不可迭代”,)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM