如何将内存中的vtp文件直接传入XMLPolyDataReader函数?
直接读取内存中VTP数据到VTK的方案
先从tar包的内存文件对象里读取完整字节内容:
# 假设已通过extractfile获取到tar内的文件对象file vtp_bytes = file.read()然后调用VTK的内存读取接口,跳过临时文件步骤:
import vtk reader = vtk.vtkXMLPolyDataReader() # 传入内存中的字节数据,开启从输入字符串读取的模式 reader.SetInputString(vtp_bytes) reader.SetReadFromInputString(True) # 触发数据读取 reader.Update() # 获取读取后的PolyData对象 output_polydata = reader.GetOutput()注意点:
- 此方法仅支持VTK 8.0及以上版本,旧版本没有对应的内存读取接口
- 操作完成后记得关闭tar的文件对象:
file.close()
内容的提问来源于stack exchange,提问作者Yann
相关产品推荐
相关产品推荐

