Daugiau

Arcpy.Delete_management (“”) neveikia


Aš parašiau scenarijų pitono įrankių dėžutėje. Šis scenarijus sukuria aplanką vartotojo nustatytoje darbo srityje visiems išvesties failams, sukurtiems scenarijaus proceso metu. Kai scenarijus bus baigtas, man nebereikės šių failų, nes rezultatus išsaugojau papildomame aplanke. Noriu ištrinti šį laikiną aplanką ir visus jo failus ir norėjau naudoti šį įrankį „delete_management“:

# Nustatyti darbo sritį arcpy.env.workspace = parametrai [2] .valueAsText # Nustatyti laikiną išvestį arcpy.CreateFolder_management (arcpy.env.workspace, "Temp") # Ištrinti laikinus failus arcpy.Delete_management ("Temp")

Bet tai akivaizdžiai neveikia ir net nesiunčia man klaidos pranešimo. Ištrinti eilutė tiesiog neturi jokio poveikio. Ką aš čia darau ne taip?

redaguoti: Aš naudoju „ArcGIS 10.1“, o parametrų [2] eilutė yra vartotojų įvestis.


Problema ta, kad „Delete management“ užduotis nežino, ką bandote ištrinti. Arba turite suteikti jam kelią į aplanką, arba sukurti kintamąjį, kuris laikytų kelią ir perduotų, kad ištrintumėte valdymą.

Išbandykite kažką tokio

arcpy.env.workspace = parametrai [2] .valueAsText tempfolder = arcpy.CreateFolder_management (arcpy.env.workspace, "Temp") # Nustatyti laikiną išvestį # arcpy.CreateFolder_management (arcpy.env.workspace, "Temp") # Ištrinti laikiną Failai arcpy.Delete_management (tempfolder)

Aš čia galiu klysti, bet jei nustatote „env.workspace“ ir kuriate bei ištrinate iš ten, nemanau, kad turite jų įtraukti į „CreateFolder“ arba „Delete_Management“. Tai tam tikras taškas nustatant darbo sritį.

„CreateFolder“ gali reikalauti jo, pagrįsto „ArcHelp“, nors tai atrodo priešinga. Ištrinti neturėtų.

Žinoma, galite naudoti ir „python os“ modulį.