在Python中的RPY2中导入软件包时,如何抑制要控制的输出?
题
每当我运行一个脚本以导入包的脚本 import
在Python的RPY2中,控制台中总是会弹出一些额外的线条。我在下面的一个示例中粘贴了。如何抑制这种行为?
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.
解决方案
您可以在代码的垃圾邮件中暂时将输出流重定向到黑洞。
import sys
class Blackhole(object):
def write(self, string):
pass
stdout = sys.stdout
sys.stdout = Blackhole()
function_el_spammo()
sys.stdout = stdout
其他提示
除了 require(tseries, quietly = TRUE)
并使用 sink()
, ,或它的python等效物,也有简单的
suppressMessages( library( tseries ))
我更喜欢。
在您的R脚本中,我会预紧 tseries
软件包(以防万一由其他功能/软件包调用)
require(tseries, quietly = TRUE)
不隶属于 StackOverflow