ответ Константина ответ в порядке, однако фактически нет необходимости открывать нулевое устройство. И кстати, если вы хотите портативное нулевое устройство, есть os.devnull
.
На самом деле все, что вам нужно, это класс, который будет игнорировать все, что вы ему пишете. Так что более портативная версия будет:
class NullIO(StringIO):
def write(self, txt):
pass
sys.stdout = NullIO()
my_nasty_function()
sys.stdout = sys.__stdout__
.