如何在Python中使用RPy2导入包时抑制控制台输出?
每当我在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.
3 个回答
2
在你的R脚本中,我建议你提前加载一下tseries
这个包(以防它被其他函数或包调用)。你可以使用下面的代码:
require(tseries, quietly = TRUE)
7
除了使用 require(tseries, quietly = TRUE)
和 sink()
,或者它在Python中的类似用法,还有一个简单的方法
suppressMessages( library( tseries ))
这是我更喜欢的方式。
6
你可以在那些产生垃圾信息的代码之前,暂时把输出流重定向到一个“黑洞”。
import sys
class Blackhole(object):
def write(self, string):
pass
stdout = sys.stdout
sys.stdout = Blackhole()
function_el_spammo()
sys.stdout = stdout