簡體   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