当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.test.TestCase.captureWritesToStream用法及代码示例


用法

@contextlib.contextmanager
captureWritesToStream(
    stream
)

参数

  • stream 应捕获其写入的流。此流必须具有文件说明符,支持通过使用该文件说明符进行写入,并且必须具有.flush() 方法。

生成(Yield)

  • 一个 CapturedWrites 对象,其中包含在此上下文期间对指定流的所有写入。

捕获对给定流的写入的上下文管理器。

此上下文管理器捕获对 CapturedWrites 对象内给定流的所有写入。创建此上下文管理器时,它会生成 CapturedWrites 对象。可以通过在 CapturedWrites 上调用 .contents() 来访问捕获的内容。

要使此函数起作用,流必须具有可以使用 os.dupos.dup2 修改的文件说明符,并且流必须支持 .flush() 方法。默认的 python sys.stdout 和 sys.stderr 就是这样的例子。请注意,这在 Colab 或 Jupyter 笔记本中不起作用,因为它们使用备用标准输出流。

例子:

class MyOperatorTest(test_util.TensorFlowTestCase):
  def testMyOperator(self):
    input = [1.0, 2.0, 3.0, 4.0, 5.0]
    with self.captureWritesToStream(sys.stdout) as captured:
      result = MyOperator(input).eval()
    self.assertStartsWith(captured.contents(), "This was printed.")

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.test.TestCase.captureWritesToStream。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。