每个程序仅发出一次警告

时间:2018-10-25 11:33:33

标签: python python-3.x warnings

我有一个带有一些用户警告的功能:

warnings.warn(message)

我想让它仅在第一次遇到时才显示该消息,然后使其保持沉默。

我在文档中发现的最接近的内容是在程序开始时发出:

warnings.simplefilter('once', UserWarning)

但这似乎不起作用-我在同一程序中多次收到相同的警告。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以构造一个为您做和记住给定警告的类:

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns:context="http://www.springframework.org/schema/context"
             xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <annotation-driven />

    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

    <context:component-scan base-package="com.test" />
    </beans:beans>

输出:

$.ajax({
   type: "POST",
   url: "/Home/FreqDomain",
   cache: false
});