2014-10-17 50 views
0

我爲pvpython編寫了一個腳本,將一批vtk文件轉換爲二進制vtu文件。使用pvpython腳本時的內存泄露

import sys 
from paraview.simple import * 

print 'Number of files to be converted:', len(sys.argv) - 1  
for x in range(1, len(sys.argv)):   
    inputFile = str(sys.argv[x]) 
    outputFile = inputFile[:-1] + 'u' 
    print x,': Converting ', inputFile, ' -> ', outputFile 
    r = LegacyVTKReader(FileNames= inputFile) 
    w = XMLUnstructuredGridWriter() 
    w.FileName = outputFile 
    w.UpdatePipeline() 

我周圍2000 VTK檔案運行它像這樣的文件夾中:

pvpython conversion.py *.vtk 

一段時間後,我的系統內存用完。

這個泄漏從何而來?

我還是新來的蟒蛇。我必須在每個循環結束時手動刪除變量嗎?

回答

1

嘗試使用Delete調用。例如

... 
w.UpdatePipeline() 
Delete(w) 
Delete(r) 
+0

它的工作原理。謝謝! – phirus 2014-10-24 08:58:18