繁体   English   中英

在Python中导入RPy2中的包时,如何禁止输出到控制台?

[英]How can I suppress the output to console when importing packages in RPy2 in Python?

每当我在Python中使用RPy2中的import运行导入包的脚本时,控制台中总会弹出一些额外的行。 我粘贴在下面的一个例子中。 我该怎样抑制这种行为?

CookieJar:r cookies$ python script.py 

    ‘tseries’ version: 0.10-24

    ‘tseries’ is a package for time series analysis and computational
    finance.

    See ‘library(help="tseries")’ for details.

除了require(tseries, quietly = TRUE)和使用sink()或它的Python等价物之外,还有简单的

suppressMessages( library( tseries ))

我更喜欢。

您可以暂时将输出流重定向到黑洞之前的代码。

import sys

class Blackhole(object):

    def write(self, string):
        pass

stdout = sys.stdout
sys.stdout = Blackhole()

function_el_spammo()

sys.stdout = stdout

在你的R脚本中,我会预加载tseries包(以防万一,如果它被其他一些函数/包调用)使用

require(tseries, quietly = TRUE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM