Tensorflow--tf.test.TestCase.get_temp_dir()

Tensorflow–tf.test.TestCase.get_temp_dir()

描述

get_temp_dir()是tf.test的基类TestCase的一个方法,用来在测试的时候,返回一个唯一的临时文件路径。在同一个测试中,此方法返回的路径是唯一的,在不同的测试中,此方法返回的路径不一致。测试结束,临时文件夹自动删除。

示例

import tensorflow as tf

class GetTempDir(tf.test.TestCase):
    def testDir(self):
        with self.test_session():
            print(self.get_temp_dir())
            print(self.get_temp_dir())

if __name__ == "__main__":
    tf.test.main()

运行后,结果如下,不难看出返回了相同的临时文件路径

/var/folders/l9/mx76gx5d5tj3shm2dghyd1jh0000gn/T/unit_testn1yjgy64/tmpezzrtpka
..
/var/folders/l9/mx76gx5d5tj3shm2dghyd1jh0000gn/T/unit_testn1yjgy64/tmpezzrtpka
----------------------------------------------------------------------
Ran 2 tests in 0.150s

OK

将代码修改如下:

import tensorflow as tf

class GetTempDir(tf.test.TestCase):
    def testDir(self):
        with self.test_session():
            print(self.get_temp_dir())
    def testDir1(self):
        with self.test_session():
            print(self.get_temp_dir())

if __name__ == "__main__":
    tf.test.main()

运行后,会产生两个不同的临时文件路径

----------------------------------------------------------------------
Ran 3 tests in 0.169s

OK
/var/folders/l9/mx76gx5d5tj3shm2dghyd1jh0000gn/T/unit_testjs690vbf/tmpfh_lbknn
/var/folders/l9/mx76gx5d5tj3shm2dghyd1jh0000gn/T/unit_testjs690vbf/tmp85uhmynd

这种机制可以避免不同测试产生的临时文件目录冲突。

如果希望在同一个测试中产生不同的临时文件路径,可以使用Python中的tempfile模块的mkdtemp方法。

官网链接

https://tensorflow.google.cn/api_docs/python/tf/test/TestCase#get_temp_dir

猜你喜欢

转载自blog.csdn.net/fegang2002/article/details/82949275
今日推荐