1
ปล่อยไฟล์ล็อค PyQGIS หรือไม่
ฉันสงสัยว่าอะไรเป็นสาเหตุให้เกิดการปลดล็อคไฟล์ใน pyQGIS? ฉันกำลังพยายามลบแหล่งข้อมูลไม่กี่แห่ง (ใช้ชั่วคราว) โดยการโทรQgsVectorFileWriter.deleteShapeFileแต่ฉันต้องออกจาก QGIS ก่อนจึงจะทำได้ ฉันโหลดแหล่งข้อมูลลงในวัตถุ QgsVectorLayer วัตถุและการอ้างอิงถึงวัตถุเหล่านี้ทั้งหมดจะต้องถูกเก็บรวบรวมขยะก่อนที่ฉันจะสามารถลบแหล่งที่มาได้หรือไม่ มีวิธีบังคับนี้หรือไม่ ฉันจัดการเพื่อสร้างตัวอย่างรหัสขั้นต่ำที่ล้มเหลว ตรวจสอบว่า temp dir ว่างเปล่าก่อนเรียกใช้ 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") # …