[解決済み】ブール値を返そうとすると TypeError("'bool' object is not iterable",) が発生する。
2021-12-30 11:13:55
質問
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' object is not iterable",)
私はbool値を返すだけで、"iterate"を試みていないので、このエラーは全く出ません。
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,)
).
トレースバックは必ず読みましょう。正しいですし、役に立ちます。
関連
-
[解決済み】C++ -- ' の前に一次式があることが予想される。
-
[解決済み】「g++」が内部コマンド、外部コマンド、操作可能なプログラム、バッチファイルとして認識されない。
-
[解決済み】Jupyter Notebookが保存されない:postに'_xsrf'引数がない
-
[解決済み】このリポジトリで別のgitプロセスが動作しているようです。
-
[解決済み] '\r': コマンドが見つかりません - .bashrc / .bash_profile [重複].
-
[解決済み] [Solved] libpthread.so.0: error adding symbols: コマンドラインからDSOが見つからない
-
[解決済み】AdMobにアプリケーションを入れたら「ライブラリが見つからない」というエラーが出た
-
[解決済み] python3 TypeError: 'function' object is not iterable.
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
CE5.2版を使って、武術のベースサイトである第一レベルのメソッドを見つける(グラフィックチュートリアル)。
-
パスワード入力を非表示にする InstallShield スクリプト
-
[解決済み】C++ -- ' の前に一次式があることが予想される。
-
[解決済み] 式は変更可能なlvalueでなければならない
-
[解決済み] '\r': コマンドが見つかりません - .bashrc / .bash_profile [重複].
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み】コレクションが変更され、列挙操作が実行されないことがある。
-
[解決済み】ValueError: 入力配列を形状 (224,224,3) から形状 (224,224) にブロードキャストできませんでした。)
-
[解決済み】dyld: ライブラリがロードされない ... 理由: 画像が見つからない
-
[解決済み】AdMobにアプリケーションを入れたら「ライブラリが見つからない」というエラーが出た