У меня есть функция, которая берет открытый файловый объект file
и записывает в него данные следующим образом:
def Write(self, file):
file.write("Data")
Теперь я хотел бы протестировать эту функцию, и я подумал, что было бы неплохо сделатьэто с каким-то потоком, который не записывает данные в файл.Я не смог найти класс Python2.7, который выполняет эту работу, кроме класса StringIO .Тем не менее, в Python2.7 этот класс ожидает Unicode-строку в функции записи.(file.write(u"Data"))
Таким образом, я не могу проверить свою функцию Write
с классом StringIO
.
В своем обходном пути я создал небольшой фиктивный класс
class MyStream(object):
S = property(lambda self: self._S)
def __init__(self):
self._S = ""
def write(self, s):
self._S += s
, с помощью которого я теперь могу успешно проверить свой Write
function.
Мой вопрос:
Есть ли нативный класс python, который делает то же самое?
Заранее спасибо за любые предложения
С уважением, Woltan