2017-06-13 117 views
0

目前我正在開發一個項目,在該項目中我需要保存n個圖像(用於程序的範圍)。由於要保存的圖像數量是動態的,因此可能會耗盡整個我的項目空間。代碼執行完成後刪除結果PYTHON

我想知道,可以在那裏的東西添加到我的代碼,使我的代碼100%完成後,圖像都會自動刪除,因爲我不代碼的執行後需要他們。

這怎麼辦?

我需要保存圖像,因爲它們作爲參數傳遞給我的代碼中的一個函數。如果你知道如何傳遞圖像,而不將其保存到我的函數,那麼請評論here

+3

照例與文件操作,'os'已經通過它['os.remove'](https://docs.python.org/2/library/os.html#os覆蓋(ISH)。刪除) – asongtoruin

+0

@ason​​gtoruin你如何在Windows上使用它?你能詳細說明一下嗎?對不起,如果這個問題太簡單了,我對python很陌生。 –

+1

在python.org上閱讀文檔 – Drako

回答

2

可能是一個想法,立即刪除文件,你做你需要做的,即代碼後

import os 

# Open image 
# Manipulate image 
os.remove(path_to_image) 
+0

謝謝!但是你如何在windows中使用這個函數(特別是Spyder)。我們需要導入什麼? –

+0

你必須輸入os – Drako

+0

@Drako我輸入os。但是由於圖像被保存在代碼中,而且os.remove()也是從相同的代碼中調用的,所以這可能就是爲什麼函數無法找到圖像並顯示錯誤:系統找不到指定的文件: 'D:\\ ImageProcessing \\ Output \\ segment1.png' –

2

跟蹤您正在創建的所有圖像文件,然後在finally區塊中將其刪除,以確保即使發生異常也會將其刪除。

import os 

temp_images = [] 

try: 
    # ...do stuff 

    # ...create image at path_to_file 
    temp_images.append(path_to_file) # called multiple times 

    # ...other stuff 

finally: 
    for image in temp_images: 
     os.remove(image)