Python Arcpy脚本快了,现在慢了?

Python Arcpy脚本快了,现在慢了?,python,ide,arcpy,Python,Ide,Arcpy,这个问题大致概括了这一点。今天早些时候,我在PyCharm中运行了以下脚本: rasterfolder = "F:/1_Raster_Processing/Classified/" vectorfolder = "H:/Output/SplitShapes/" tablefolder = "H:/Output/Split_Tables_3/" import arcview import arcpy from arcpy.sa import * arcpy.CheckOutExtension(

这个问题大致概括了这一点。今天早些时候,我在PyCharm中运行了以下脚本:

rasterfolder = "F:/1_Raster_Processing/Classified/"
vectorfolder = "H:/Output/SplitShapes/"
tablefolder = "H:/Output/Split_Tables_3/"


import arcview
import arcpy
from arcpy.sa import *
arcpy.CheckOutExtension("spatial")


arcpy.env.workspace = vectorfolder
flist = arcpy.ListFeatureClasses()
for f in flist:
    TabulateArea(f,"FID",rasterfolder + "KNN100_" + f[:-6] + ".tif","Value",tablefolder + f[:-4] + ".dbf",0.25)
一个特色课程大约需要4分钟,还有几百分钟的时间。在一天当中的某个时候,这个进程挂了,并且没有产生更多的输出,所以我把它杀了,开始思考(这是一个PyPARTION问题)。当我重新开始时,每个要素类突然需要~1小时以上的时间才能完成完全相同的过程。我在WingIDE也尝试过同样的过程,但仍然存在问题。我已经重新启动了所有程序,除了这台机器上的这个进程外,我什么也没运行。思想?我需要在这里牺牲牲口棚里的动物吗?为温拉买单


是否有其他人在运行脚本时遇到问题;最初几次运行良好,但随后突然,由于没有明显的原因,需要大幅减速?

好的。不确定这是否值得否决,因为这是一个有效的问题,但对于所有-1的人来说:这是一个合法的问题,我能够在几个不同的机器上用arcpy一致地重现。所以,如果您一直试图弄清楚wtf对arcpy脚本的处理时间是高度可变的,请继续阅读

事实证明,
tableteara
函数出现了合法的内存泄漏问题。尝试在
for
循环中添加类似的内容:

arcpy.env.workspace = 'in_memory' #Outside the loop

arcpy.Delete_management("in_memory") #after the function completes

希望这对别人有帮助。为了弄明白这一点,我好几天都发疯了。

好的。不确定这是否值得否决,因为这是一个有效的问题,但对于所有-1的人来说:这是一个合法的问题,我能够在几个不同的机器上用arcpy一致地重现。所以,如果您一直试图弄清楚wtf对arcpy脚本的处理时间是高度可变的,请继续阅读

事实证明,
tableteara
函数出现了合法的内存泄漏问题。尝试在
for
循环中添加类似的内容:

arcpy.env.workspace = 'in_memory' #Outside the loop

arcpy.Delete_management("in_memory") #after the function completes

希望这对别人有帮助。为了弄明白这一点,我好几天都发疯了。

昨天晚上又试着重新运行了一遍。一些fc需要>3小时才能完成,其他fc则在昨晚尝试重新运行此功能。一些fc需要>3小时才能完成,其他fc则需要3小时完成