如何完全重置警告

2023-12-27

如何在不重新启动 python 的情况下再次看到警告。现在我只见到他们一次。

例如考虑以下代码:

import pandas as pd  
pd.Series([1]) / 0

I get

RuntimeWarning: divide by zero encountered in true_divide 

但当我再次运行它时,它会默默执行。

如何在不重新启动 python 的情况下再次看到警告?


我尝试过做

del __warningregistry__

但这没有帮助。

似乎只存储了某些类型的警告。 例如,如果我这样做:

def f():   
    X = pd.DataFrame(dict(a=[1,2,3],b=[4,5,6]))
    Y = X.iloc[:2]
    Y['c'] = 8

那么这只会在第一次时发出警告f()叫做。 然而,现在如果这样做的话del __warningregistry__我可以再次看到警告。


第一次警告和第二次警告有什么区别?为什么这里只存储第二个__warningregistry__?第一个存储在哪里?


如何在不重新启动 python 的情况下再次看到警告?

只要您在脚本开头执行以下操作,就无需重新启动。

import pandas as pd
import numpy as np
import warnings
np.seterr(all='warn')
warnings.simplefilter("always")

此时每次尝试除以零时,都会显示

RuntimeWarning: divide by zero encountered in true_divide 

解释:

我们正在设置几个警告过滤器。首先 (np.seterr http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html) 告诉 NumPy 应如何处理警告。我已将其设置为显示警告all,但如果您只想查看除以零警告,请将参数从all to divide.

接下来我们改变我们想要的方式warnings模块始终显示警告。我们通过设置一个警告过滤器 https://docs.python.org/2/library/warnings.html#the-warnings-filter.

第一次警告和第二次警告有什么区别?为什么只有第二个存储在这个 __warningregistry__ 中?第一个存储在哪里?

这在错误报告 https://bugs.python.org/msg75117报告此问题:

如果您在使用简单过滤器之前没有发出警告,则这 会起作用的。不良行为是因为 __警告注册表__。它是在第一次发出警告时设置的。 当第二个警告出现时,过滤器甚至不会被查看。 我认为解决此问题的最佳方法是使 __warningsregistry__ 无效 当使用过滤器时。最好存储警告数据 在全局的 then 中而不是在模块中,所以很容易失效。

顺便说一句,bug https://bugs.python.org/issue4180已作为版本 3.4 和 3.5 的修复而关闭。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何完全重置警告 的相关文章

  • Python启动脚本[重复]

    这个问题在这里已经有答案了 我想执行一个脚本work py在Python中 执行一些初始化脚本后init py 如果我正在寻找交互式会话 请执行python i init py或设置PYTHONSTARTUP path to init py
  • 无法通过 pip 安装 xmlsec

    我在运行时收到以下信息pip install xmlsec在 macOS Big Sur 11 3 1 中 Building wheels for collected packages xmlsec Building wheel for x
  • brew install python,但随后:“python-2.7.6 已安装,只是未链接”

    免责声明 菜鸟 操作系统 10 8 5 当我在 bash 中安装 python 时 我得到了这个警告和错误 https i stack imgur com TBgBT png Warning Could not link python Un
  • 安装 python-dev 和链接库后,Cython 中的 Hello World 程序因 gcc 失败

    我创建了一个简单的 hello world 程序 并尝试使用 gcc 执行生成的 C 程序 但无论我做什么 我都会得到大量未定义的引用 SO 有很多类似的问题 但他们都说安装 python dev 或其某些变体 或添加用于链接和加载库的标志
  • 删除网格线,但保留框架(matplotlib 中的 ggplot2 样式)

    使用 Matplotlib 我想删除图中的网格线 同时保留框架 即轴线 我已经尝试过下面的代码和其他选项 但我无法让它工作 如何在删除网格线的同时保留框架 我这样做是为了在 matplotlib 中重现 ggplot2 图 我在下面创建了一
  • 求 Petersen 子图中的哈密顿路径

    我开始使用 IDE Jupyter Python 3 6 并出现了一个问题 我必须通过IDE绘制Petersen子图中的哈密顿路径 但我不知道该怎么做 我显示有关该图的信息 彼得森图 https en wikipedia org wiki
  • 将多种类型存储为 C++ 字典中的值?

    我想编写一个行为几乎等同于 Python 字典的 C 对象 C 的std map and std unordered map容纳了 Python 字典已有的一些功能 但缺乏最重要的功能之一 即能够添加任意对象和类型 即使不可能 您离实现 P
  • 使用 range/arange 函数作为参数对 2d numpy 数组进行索引/切片

    我对 numpy 有一个基本的疑问 我在 Ubuntu 14 04 上使用 Python 2 7 numpy 1 9 2 例如 我将 2d numpy 数组初始化为a np zeros 10 10 然后 我尝试通过以下方式使用范围函数作为索
  • 如何将 python 点列表转换为 numpy 图像数组?

    我有一个 python 点列表 x y 坐标 200 245 344 248 125 34 它表示二维平面上的轮廓 我想使用一些 numpy scipy 算法进行平滑 插值等 它们通常需要 numpy 数组作为输入 例如scipy ndim
  • 相当于 pandas 'transform' 的 SQL 是什么?

    假设您有以下 SQL 表 A B C 2 1 4 3 4 5 3 1 1 1 4 0 5 0 1 并且您想要添加 显示一个列 其中包含 A 列对于 B 列的每个不同值的平均值 或任何其他聚合函数 您想要保留所有列 所以结果会是这样的 A B
  • 多输出回归问题的多重损失

    所以我试图训练一个 CNN 模型来预测 4 个实值输出 回归问题 我尝试使用均方误差作为损失函数 我的问题是我是否将输出层分支为 4 个不同的输出层 其中有 4 个不同的输出层由于最后一层的权重是单独更新的 loss 4 MSE 确实可以使
  • 是否可以在数据类中使用 *args?

    我最近开始使用数据类 https www python org dev peps pep 0557 它们将成为 3 7 的一个很好的补充 我很好奇是否或如何可以使用数据类重新创建此类的相同功能 class Nav object def in
  • 导入tensorflow时,出现以下错误:没有名为“numpy.core._multiarray_umath”的模块

    我已经安装了 Ancaconda3 和 Tensorflow 当我尝试在 python shell 中导入 Tensorflow 时 收到以下错误 ModuleNotFoundError 没有名为 numpy core multiarray
  • 如何使用 python 子进程杀死性能记录?

    我正在尝试使用性能实用程序 https www brendangregg com perf html监视我的系统 它将在 python 脚本中启动和终止 我创建了一个沙箱 如下所示 extra params F 99 g a record
  • 覆盖 Autobahn/Twisted WebsocketClientProtocol 类

    我想重写我的 WebSocketClientFactory 类以允许传入数据填充作业队列 这是我正在尝试的连接代码 factory WebSocketClientFactory ws localhost 7096 job queue Que
  • 联合超过 2 个 pandas 数据框

    我正在尝试将 sql 查询转换为 python sql语句如下 select from table 1 union select from table 2 union select from table 3 union select fro
  • 使用 str 方法替换 string 中的多个元素

    我正在尝试编写一个函数 它接受一串 DNA 并返回赞美 我已经尝试解决这个问题有一段时间了 并浏览了 Python 文档 但无法解决 我已经为该函数编写了文档字符串 以便您可以看到答案应该是什么样子 我在这个论坛上看到过类似的问题 但我无法
  • 在 matplotlib 中使用轴绘制带有子点的图形时出现错误

    我尝试使用下面的代码绘制子图 但是我得到了 AttributeError numpy ndarray object has no attribute boxplot 但改变plt subplots 1 2 它正在用indexerror绘制箱
  • Django 查询集和生成器

    出乎意料的是 我想知道以下使用生成器迭代结果集的方式是否会对正常迭代产生任何积极或消极的影响 eg def all items generator for item in Item objects all yield item for it
  • 访问 django for 循环中的元素

    我有一个 Django 模板 其中包含以下代码 该模板创建多个按钮并尝试通过单击 在同一按钮上 删除 隐藏其中一个按钮 for h in helicopters div class btn group div

随机推荐

  • 如何在 Netty 通道处理程序中安全地执行阻塞操作?

    我正在构建一个基于 Netty 的小型应用程序 该应用程序通过套接字连接 即 telnet ssh 执行 I O 操作 我正在使用 Netty 启动我的套接字服务器ServerBootstrap类 给出 类型的事件循环NioEventLoo
  • 有没有办法使用 Selenium 和 Python 绑定执行鼠标悬停(悬停在元素上)?

    Reading here http groups google com group selenium developers browse thread thread eebb4269d53b4a01 显然曾经有一个RenderedWebEl
  • 春季预定的固定利率无法正常工作

    正如标题所示 我尝试使用 Scheduled 注释的固定 Rate 参数来每秒调用一个函数 这是我正在使用的代码 execute once every second Scheduled fixedRate 1000 private void
  • Hibernate:我需要flush()吗?

    我有双向一对多关系 我试图像在这个文档中那样坚持它 http docs jboss org hibernate core 3 3 reference en html example parentchild html example pare
  • const 引用是否会延长临时对象返回的临时对象的寿命?

    我知道常量引用可以延长本地临时变量的寿命 现在我问自己是否可以将这种专有性扩展到临时对象链上 也就是说 我是否可以安全地定义 std string const foo aBar getTemporaryObject1 getTemporar
  • 在 OS X 上,将 SQLite 数据库放在哪里以防止其在更新期间被覆盖?

    我正在开发我的第一个 OS X 应用程序 该应用程序将通过 Mac App Store 分发 该应用程序使用 sqlite 数据库 我目前将其保存在与应用程序文件依赖项的其余部分相同的位置 我正在使用 Qt Framework 来开发该应用
  • Antlr4 解析异常

    我正在使用 Antlr4 解析语法并遇到一个我无法理解的问题 简而言之 问题是 Antlr4 解析器无法完全解析我原始语法中的测试字符串 但是当我添加多余的规则时 解析就完成了 我提供了语法的简化版本来说明这个问题 grammar my s
  • 从firebase中检索除某些字段之外的所有数据

    我正在开发一个使用 Angular Firebase 和云函数的项目 我的数据如下 我想检索除 profile picture 字段之外的所有数据 在云函数中 exports getPartner functions https onReq
  • 您知道如何在 Databricks 集群上安装“ODBC Driver 17 for SQL Server”吗?

    我正在尝试使用 pyodbc python 库从 Databricks 笔记本连接到 Azure SQL 数据仓库 当我执行代码时 我收到此错误 Error 01000 01000 unixODBC Driver Manager Can t
  • 如果它在本地堆上分配,为什么称为 Marshal.AllocHGlobal?

    来自 MSDN 文档Marshal AllocHGlobal http msdn microsoft com en us library s69bkh17 aspx AllocHGlobal 是 Marshal 类中的两种内存分配方法之一
  • 如何从同步代码Python调用异步函数

    所以我被锁定在我的桌面应用程序之后的 python 3 6 2 解释器上 我想要的是从同步方法或函数调用异步函数 当从桌面应用程序调用 python 函数时 它必须是一个不能等待的普通函数 从桌面应用程序中 我可以发送 url 列表 而我想
  • 使用多个数据库模式的 JPA

    我在使用 JPA Spring 时遇到了一个特定问题 如何动态地将模式分配给实体 我们有属于模式 AD 的 TABLE1 和属于 BD 的 TABLE2 Entity Table name TABLE1 schema S1D Entity
  • Python脚本与linux shell交互

    我有一个 Python 脚本 需要通过命令行与用户交互 同时记录输出的任何内容 我目前有这个 lots of code popen subprocess Popen args shell True stdin sys stdin stdou
  • R 工作区,即 .R 文件

    如何在新会话中为该会话中的新对象启动新的 R 文件默认值 工作空间是 RData 文件 而不是 R 文件 R 文件是源文件 即包含代码的文本文件 这有点棘手 如果保存了工作区 则 R 会在当前工作目录中保存两个文件 一个包含对象的 RDat
  • 向URL二维码添加数据?

    是否可以创建一个包含 URL 数据 数字 的 QR 码 我可以从自己的应用程序中对其进行解码 另外 我需要它的方式是 如果有人尝试从常规 QR 扫描仪扫描它 它只会定向到 URL 我正在应用程序上读取二维码卡来读取数据 不同位置的卡很少 因
  • React useEffect 清理函数运行多次?

    React hook noob在这里 鉴于这个例子 useEffect gt function handleStatusChange status setIsOnline status isOnline ChatAPI subscribeT
  • Jersey 多部分客户端上传

    我设计了一个多部分 Jersey REST 服务 如下所示 用于接收多部分请求 文件上传 并将文件保存在磁盘位置 POST Path Upload Produces MediaType TEXT HTML Consumes MediaTyp
  • 根据一列值对子数组数据进行分组和合并

    我在下面的 PHP 代码中有一个数组 我想将该数组转换为按数据值分组 简化数组总是很困难 原始数组 array date gt 2017 08 22 AAA gt 1231 date gt 2017 08 21 AAA gt 1172 da
  • 从表单发送电子邮件(仅限 HTML、javascript)

    从表单发送电子邮件 以下是基本 HTML 代码的链接 W3学校 http www w3schools com html tryit asp filename tryhtml form mail 写完评论 姓名和电子邮件并单击 发送 按钮后
  • 如何完全重置警告

    如何在不重新启动 python 的情况下再次看到警告 现在我只见到他们一次 例如考虑以下代码 import pandas as pd pd Series 1 0 I get RuntimeWarning divide by zero enc