1
释放PyQGIS文件锁?
我想知道是什么触发了pyQGIS中文件锁定的释放? 我试图通过调用删除一些数据源(临时使用)QgsVectorFileWriter.deleteShapeFile,但是必须退出QGIS才能这样做。我已经将源代码加载到QgsVectorLayer对象中。在删除源之前,是否必须对所有这些对象及其引用进行垃圾回收?有没有办法强制执行此操作? 我设法创建了一个失败的最小代码示例。在运行之前,请确保temp目录为空。 from qgis.core import * import processing, os, gc project_temp_dir = "C:/Path/To/My/Dir/" layer1_path = project_temp_dir + "layer1.shp" layer2_path = project_temp_dir + "layer2.shp" input_layer = QgsMapLayerRegistry.instance().mapLayersByName('in_layer')[0] if not input_layer.isValid(): raise Exception("Failed to grab input layer") # Create layer 1 err = QgsVectorFileWriter.writeAsVectorFormat(input_layer, layer1_path, "utf-8", input_layer.crs()) if err != QgsVectorFileWriter.NoError: …