Jeśli prawidłowo usuwasz zarówno obiekty wiersza, jak i kursora (np. del row, rows
), A blokada pozostaje, prawdopodobnie jest to spowodowane tym, że sama ArcMap, a nie arcpy, nadal się do niej odwołuje.
Czy plik kształtu jest przywoływany przez warstwę w spisie treści, czy też jest dodawany do spisu treści za pomocą narzędzia skryptowego?
Jeśli to drugie, możesz spróbować wyłączyć opcję „Dodaj wyniki operacji geoprzetwarzania do wyświetlacza” w obszarze Geoprocessing- > Opcje geoprzetwarzania w ArcMap.
Dodatkowa sugestia: jeśli robisz to jako tymczasowy / pośredni zestaw danych, a liczba funkcji nie jest zbyt duża, spróbuj użyć in_memory
obszaru roboczego zamiast pliku kształtu, aby całkowicie obejść problem z blokowaniem i uzyskać miły potencjalny wzrost wydajności .
Pamiętaj tylko o usunięciu obszaru roboczego in_memory lub określonych zestawów danych, które tam utworzysz za pomocą Delete (zarządzanie danymi) przed wyjściem ze skryptu, w przeciwnym razie pozostanie on w pamięci aż do zamknięcia aplikacji.
Na koniec chciałbym również zauważyć, że zachowanie blokowania plików kształtu zmieniło się w 10.0, aby stało się bardziej surowe, nie usuwając plików blokujących po usunięciu warstwy ze spisu treści. Zobacz także ten artykuł i powiązane pytanie .