我对此做了一些研究,但所有的问题(在我新手的理解中)似乎都涉及到了如何找出是否有另一个程序正在运行,而不是Python本身。
所以,我目前正在研究一种代码,它在shapefile中围绕一组行生成缓冲区。这是一个批处理过程,涉及20个shapefile文件和其中多达4000行。这个过程需要很长时间,我开始怀疑它是否真的有效。
我通常使用print语句来跟踪代码的进度,但是在这种情况下,我调用ArcGIS来执行这个功能,所以我只能在所有行都处理完之后,而不是在它还在运行的时候,编写一条print语句。
是否有任何方法可以确定流程是否仍在进行(除了检查任务管理器以查看它是否已冻结)?
我想到了一种疯狂的方式(不知道这样的事情是否可能):我在想,只要脚本还没有运行完,每隔X分钟就要在t X t文件中写一些东西。
谢谢!!!!
我的代码:def Buffer30m(self,InputFile,OutputBuffer, size):
arcpy.Buffer_analysis(InputFile,OutputBuffer,size,"FULL","ROUND","NONE","#")
TheList=os.listdir(SSFlinespath) #read the files in the folder
os.mkdir(SSFlines+"SSFbuffers" #create folder for the output
SSbuff=SSFlinespath+"SSFbuffers/" #select the folder as destination
try:
size=30
for TheFile in TheList: #Identify each file
TheFileName, TheFileExtension = os.path.splitext(TheFile) #Break up the file name
if (TheFileExtension==".shp"): #Identify the shapefiles
TheLines=SSFlines+TheFile
##Generate a 3