摘要
确定给定数据集或工作空间是否在编辑会话中。
说明
IsBeingEdited 方法可用于检查数据源当前是否在编辑会话中。 这与 Editor 类上的 isEditing 属性类似,但不需要您创建 Editor 对象。 这对于在多个用户或自动脚本试图同时执行编辑的数据源上使用可能很有用。
语法
IsBeingEdited (dataset)
参数 | 说明 | 数据类型 |
dataset | The input dataset or workspace to be checked for an ongoing edit session. | String |
数据类型 | 说明 |
Boolean | 如果输入数据集或工作空间在编辑会话中,则为 True。 |
代码示例
以下代码在开始新的工作空间之前检查工作空间是否已经在编辑会话中。
import arcpy
arcpy.env.workspace = r"C:\data\myGDB.gdb"
if not arcpy.IsBeingEdited(arcpy.env.workspace):
edit = arcpy.da.Editor(arcpy.env.workspace)
edit.startEditing()
以下代码列出了地图中具有待处理编辑的任何要素图层的名称。
import arcpy
aprx = arcpy.mp.ArcGISProject("CURRENT")
map = aprx.listMaps()[0]
for lyr in map.listLayers():
if lyr.isFeatureLayer and arcpy.IsBeingEdited(lyr):
print(lyr.name)