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