使用pvpython脚本时内存泄漏

0 投票
1 回答
740 浏览
提问于 2025-04-28 02:26

我写了一个脚本,用于 pvpython 将一批 vtk 文件转换成二进制的 vtu 文件。

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

过了一段时间,我的系统内存就用完了。

这个内存泄漏是从哪里来的呢?

我对 Python 还不太熟悉。难道我需要在每次循环结束时手动删除变量吗?

暂无标签

1 个回答

1

试着使用一个 Delete 的调用。例如:

...
w.UpdatePipeline()
Delete(w)
Delete(r)

撰写回答