class Dummysink(object):

    def write(self, data):
        pass

def __enter__(self):
    return self

def __exit__(*x):
    pass

def datasink(filename):
    if filename:
        return open(filename, 'w')
Можно ли условно использовать оператор with?