我有一个函数,它接受一个打开的文件对象file
并将数据写入它,如下所示:
def Write(self, file):
file.write("Data")
现在我想测试那个函数,我认为用某种不将数据写入文件的流来做这件事会很巧妙。除了 StringIO 类之外,我找不到可以完成这项工作的Python2.7类。但是,在 Python2.7 中,此类在 write 函数中需要一个 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
功能。
我的问题:
是否有一个本机 python 类可以做同样的事情?
提前感谢您的任何建议
问候 Woltan