Home

Tags

python, подмена стандартного вывода

2011-04-12 python stdout

Пример подмены стандартного вывода (подмена вывода print).

# coding: utf8

import sys

class MyStdio(object):
    def __init__(self):
        self.stdout = sys.stdout
        sys.stdout = self
        self.stdin = sys.stdin
        sys.stdin = self
    def write(self,s):
        self.stdout.write('*'+str(s))
    def readline(self):
        return '+'+self.stdin.readline()

my = MyStdio()

print 'hello world'
print raw_input('(input)')
Пример результата
*hello world*
*(input)123
*+123*