Если вы действительно хотите переключить печать:
>>> import sys
>>> import os
>>> print 'foo'
foo
>>> origstdout = sys.stdout
>>> sys.stdout = open(os.devnull, 'w')
>>> print 'foo'
>>> sys.stdout = origstdout
>>> print 'foo'
foo
Однако я рекомендую использовать только print
для одноразового кода. Используйте logging
для реальных приложений, как описано в оригинальном вопросе. Это допускает скользящую шкалу многословия, поэтому вы можете вести только важные записи или более подробные записи, как правило, менее важных деталей.
>>> import logging
>>> logging.basicConfig(level=logging.DEBUG)
>>> logging.debug('foo')
DEBUG:root:foo
Например, использование может включать журналы отладки в вашем коде. Затем, чтобы заставить их замолчать, измените свой уровень на более высокий уровень, один из INFO
, WARN
или WARNING
, ERROR
или CRITICAL
или FATAL
>>> logging.root.setLevel(logging.INFO)
>>> logging.debug('foo')
>>>
В сценарии вы просто хотите установить это в basicConfig
следующим образом:
import logging
logging.basicConfig(level=logging.INFO)
logging.debug('foo') # this will be silent
Более сложные способы ведения журналов можно найти в документации .