你好,如果用户在一天中使用一些ArcMap扩展,我必须映射。我想出了一个脚本,通过测试每个扩展并读取错误消息来检查扩展是否正常工作。这些脚本工作良好,如果我在arcmap中运行它,但作为独立的脚本它不工作。无论如何,我可以做它作为独立的脚本吗?或者其他检查这些扩展是否已检出的方法吗?或者我可以在arcmap中安排一个脚本在每次用户启动或关闭它时运行?我的剧本如下:!#类检查扩展类lista_ext(): #初始化列表def __init__(self): self。L =[] #获取列表值def getlist(self):返回self测试扩展是否打开。如果给出的错误与'000824'不同,这意味着扩展打开并尝试执行'' def testareextension (self,e,name):如果str(e).find('000824') ==-1: self.l.append(name)返回self。从每个扩展中测试一个函数。所选择的函数不应该工作,并且无论如何都会显示错误消息" '尝试:arcpy.Idw_3d(1) except Exception: e = sys.exc_info()[1] self。testareextension (e,'3D Analyst') try: archpy . idw_ga (1) except Exception: e = sys.exc_info()[1] self. extension()testarextension(e,'Geostatistical Analyst') try: arcpy.Solve_na(1) except Exception: e = sys.exc_info()[1] self.testarextension(e,'Network Analyst') try: arcpy.UpdateDiagram_schematics(1) except Exception: e = sys.exc_info()[1] self.testarextension(e,'Schematics') try: arcpy.sa.Int('1.1') except Exception: e = sys.exc_info()[1] self.testarextension(e,'Spatial Analyst') try: arcpy.TrackIntervalsToFeature_ta(1) except Exception: e = sys.exc_info()[1] self.testarextension(e,'Tracking Analyst') return self.l
…查看更多