Как я могу подавить вывод в консоли при импорте пакетов в RPY2 в Python?
Вопрос
Всякий раз, когда я запускаю пакеты импорта сценария с import
В RPY2 в Python всегда появляются дополнительные линии, появляющиеся в консоли. Я вставил в примере ниже. Как я могу подавить это поведение?
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 ))
который я предпочитаю.
В вашем сценарии я бы предварительно загрузил tseries
Пакет (на всякий случай, если он вызван каким -то другим функционированием/пакетом), используя
require(tseries, quietly = TRUE)
Не связан с StackOverflow