Suppressing Stan optimizer printing in Python

 1 # from https://stackoverflow.com/questions/11130156/suppress-stdout-stderr-print-from-python-functions
2 class suppress_stdout_stderr(object):
3 '''
4 A context manager for doing a "deep suppression" of stdout and stderr in
5 Python, i.e. will suppress all print, even if the print originates in a
6 compiled C/Fortran sub-function.
7 This will not suppress raised exceptions, since exceptions are printed
8 to stderr just before a script exits, and after the context manager has
9 exited (at least, I think that is why it lets exceptions through).
10
11 '''
12 def __init__(self):
13 # Open a pair of null files
14 self.null_fds = [os.open(os.devnull, os.O_RDWR) for x in range(2)]
15 # Save the actual stdout (1) and stderr (2) file descriptors.
16 self.save_fds = (os.dup(1), os.dup(2))
17
18 def __enter__(self):
19 # Assign the null pointers to stdout and stderr.
20 os.dup2(self.null_fds[0], 1)
21 os.dup2(self.null_fds[1], 2)
22
23 def __exit__(self, *_):
24 # Re-assign the real stdout/stderr back to (1) and (2)
25 os.dup2(self.save_fds[0], 1)
26 os.dup2(self.save_fds[1], 2)
27 # Close the null files
28 os.close(self.null_fds[0])
29 os.close(self.null_fds[1])

使用:

1 # used like
2 with suppress_stdout_stderr():
3 p = Propet(*kwargs).fit(training_data)

关闭Python函数执行期间的标准输出的更多相关文章

  1. 【原创】控制perl和python脚本执行过程中脚本文件是否关闭的方法

    引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和pyt ...

  2. python用装饰器实现缓存函数执行结果

    根据调用的函数名和调用的参数,对函数的结果进行缓存,下次执行的时候就不用重复计算   可以用装饰器来实现   import time import hashlib import pickle cach ...

  3. python函数的执行过程

    对于 Python 常规函数,都只有一个入口,但会有多个出口如 return 返回或者抛出异常.函数从入口进入会一直运行到 return 语句或者抛出异常,中间不会暂停,函数一直拥有控制权.当运行结束 ...

  4. 出错提示:“Could not flush the DNS Resolver Cache: 执行期间,函数出了问题”的解决方法

    在DNS解析中,出错提示:"Could not flush the DNS Resolver Cache: 执行期间,函数出了问题"的解决方法  . 由于公司网站空间更换了服务商. ...

  5. python 函数基础2

    一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点:1.约束函数的调用者必须按照Kye=value的形式传值. 2,.约束函数的调用者必须用我们指定的Key名. def aut ...

  6. Python函数高级

    函数对象 在面向对象编程中 一切皆对象 函数在python中是第一类对象 函数可以这么用 可以被引用 def func(): print('hello world !') ​ f=func f() 可 ...

  7. python函数----名称空间和作用域

    一 名称空间 名称空间即存放名字与对象映射/绑定关系的地方. 对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,del x表示清除该绑定关系. ​在程序执行 ...

  8. 跟着老男孩教育学Python开发【第三篇】:Python函数

    set 无序,不重复,可嵌套. 函数 创建函数: 1.def关键字,创建函数 2.函数名 3.() 4.函数体 5.返回值 发邮件函数 def sendmail():     import smtpl ...

  9. Python函数讲解

    Python函数

  10. python函数基础 与文件操作

    函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...

随机推荐

  1. springBoot简要复习总结

    Spring Boot Spring Boot 的特点 1. 独立运行的 Spring 项目 Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令&quo ...

  2. Java字节流--输出流OutputStream和输入流InputStream

    OutputStream和InputStream都是抽象类 OutputStream定义和InputStream定义 OutputStream InputStream public abstract ...

  3. java设置权限过滤器--防止用户未登录访问某些页面

    话不多说,上代码!!! package com.store.web.filter; import java.io.IOException; import javax.servlet.Filter; i ...

  4. 告别源码阅读困境!五款 AI 工具强势救场

    一.简介 阅读项目源码困难重重,复杂的代码结构.繁多的依赖关系,常常让开发者们焦头烂额.别慌!这里有五款AI工具,堪称源码阅读神器,能帮你轻松搞定这些难题,快速理解项目核心,提升开发效率. 文章首发公 ...

  5. Pytorch之线性回归

    从零开始实现 %matplotlib inline import torch import numpy as np import random 生成数据集 设训练数据集样本数为1000,特征数为2,使 ...

  6. flutter3-deepseek流式AI模板|Flutter3.27+Dio+DeepSeeek聊天ai助手

    基于Flutter3+DeepSeek-V3+Markdown跨平台流式ai打字输出问答助手. flutter3-deepseek-chat跨平台ai流式实例,基于Flutter3.27+Dart3+ ...

  7. acwing 智商药

    题目链接:5046. 智商药 - AcWing题库 首先考虑dfs 不用想肯定超时 过了10/17个测试点 代码 1 #include<bits/stdc++.h> 2 3 using n ...

  8. 简单介绍List和数组转List集合

    目录 综述 如何创建List 六种数组转List的方法 for循环遍历 Arrays.asList() new ArrayList<>(Arrays.asList(array)) Coll ...

  9. 【MySQL】字符串截取函数substring_index

    业务场景描述:如何根据分隔符切割字符串?使用函数SUBSTRING_INDEX()根据指定分隔符切割,分隔符可以是字符串等. 语法:substring_index(str,delim,count) 说 ...

  10. 刚刚,Cursor 1.0炸裂发布!4大亮点实战

    炸裂,炸裂,炸裂!时隔两年半,Cursor 终于正式发布了 1.0 版本. 作为一名 Cursor 舔狗用户,我第一时间体验了这次的大更新,主要包括用于代码审查的 BugBot.记忆功能的首次亮相.一 ...