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. Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300%的秘密武器

    企业级应用开发的需求日益增长.今天,我们要介绍的是一个在GitHub上广受好评的开源项目--Jeesite5.这不仅是一个技术框架,更是企业级应用开发的加速器.接下来,我们将深入探讨Jeesite5的 ...

  2. 改进NeteaseCloudMusicGtk4:添加移除歌曲按钮

    之前已经发了一篇博客简述了如何阅读这个项目,尽管这个项目已经开源很久了,但我找了很久都没有找到怎么从播放列表移除歌曲,那就自己动手实现,再提个 PR 吧. 运行起来应用后通过 Inspector(Ct ...

  3. HarmonyOS NEXT开发实战教程—搜索页

    今天忙里偷闲,分享一个搜索页实现过程,先上效果图: 界面部分比较简单,大体分为导航栏.历史搜索.猜你想搜和热搜榜几个部分,历史搜索采用用户首选项进行存储数据. 导航栏部分相关代码如下: Flex({d ...

  4. 将查询集SQL-存为物理 OR 临时表

    最近的BI项目, 就是会涉及大量的 sql, 后台处理也全是 sql 来拼接成一张物理宽表, 然后前台也是用 sql 来做各种图形骚操作. 尤其是后台处理部分, 大量的sql, 有点尴尬的事情是, s ...

  5. Python基础 - 常用内置对象

    数字.字符串.字节串.列表.元组.字典.集合.布尔型.空类型.异常.文件.可迭代对象.编程单元def.class.module 常量与变量 x = 3 type(x) # 查看变量类型 int typ ...

  6. C#之线程基础

    创建线程 using System; using System.Threading; using System.Threading.Tasks; namespace threadDemo { clas ...

  7. Seata源码—8.Seata Saga模式的事务处理

    大纲 1.Seata Saga案例简介 2.Seata Saga案例的状态机定义分析 3.Seata Saga分布式事务与状态机关系 4.Seata Saga案例的Dubbo服务调用配置分析 5.Se ...

  8. 2025最好的Next.js面试

    2025最好的Next.js面试题(一) 最近在面试,就写一些关于问到的面试题,同时也过一下知识点. 基础概念 什么是Next.js?它与React的关系是什么? Next.js是一个基于React的 ...

  9. 洛谷P4643 [国家集训队]阿狸和桃子的游戏 & 初赛心情

    洛谷P4643 [国家集训队]阿狸和桃子的游戏 引入 其实是道小水题,没有那么多的数据结构和卡常.但是我就是喜欢这种题!giao! (希望这道题不要变色啊--这可是我a的第一道黑题啊啊啊-- 蒟蒻的心 ...

  10. 处理日期和时间的chrono库

    C++11中提供了日期和时间相关的库chrono,通过chrono库可以很方便地处理日期和时间,为程序的开发提供了便利.chrono库主要包含三种类型的类:时间间隔duration.时钟clocks. ...