Python スクリプトで、ユーザーが「列 'xxx' のデータが切り詰められました」という警告に遭遇しました。 MySQL クエリ。ただし、以下のコードはこれらの警告をキャプチャできませんでした。
<code class="python">import MySQLdb try: cursor.execute(some_statement) # code steps always here: No Warning is trapped # by the code below except MySQLdb.Warning, e: # handle warnings, if the cursor you're using raises them except Warning, e: # handle warnings, if the cursor you're using raises them</code>
MySQL の警告は、エラーのような例外として発生しません。代わりに、それらは標準エラー出力に報告されます。警告をトラップして処理するには、警告モジュールを使用できます。更新されたコード スニペットは次のとおりです。
<code class="python">import warnings import MySQLdb # Configure warnings to be turned into exceptions warnings.filterwarnings('error', category=MySQLdb.Warning) # Execute the query and handle the warnings try: cursor.execute(some_statement) except MySQLdb.Warning: # Handle the warning as an exception except Exception: # Handle other exceptions</code>
warnings.filterwarnings('error', category=MySQLdb.Warning) を使用すると、警告を例外として発生させるように Python に指示し、try/ で警告をキャッチできるようにします。ただし、ブロックして適切な措置を講じてください。
以上が質問形式を念頭に置いて、提供されたテキストに基づいたタイトルをいくつか示します。 * **Python で MySQL 警告を処理するにはどうすればよいですか?** (単純明快) * **私の Python コードが機能しないのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。