在 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 中的警告不会作为错误等异常引发。相反,它们会报告给 stderr。要捕获和处理警告,您可以使用警告模块。这是更新的代码片段:
<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中文网其他相关文章!