1. 程式人生 > >Tensorflow--tf.test.TestCase.get_temp_dir()

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