IsBeingEdited

摘要

确定给定数据集或工作空间是否在编辑会话中。

说明

IsBeingEdited 方法可用于检查数据源当前是否在编辑会话中。 这与 Editor 类上的 isEditing 属性类似,但不需要您创建 Editor 对象。 这对于在多个用户或自动脚本试图同时执行编辑的数据源上使用可能很有用。

语法

IsBeingEdited (dataset)
参数说明数据类型
dataset

The input dataset or workspace to be checked for an ongoing edit session.

String
返回值
数据类型说明
Boolean

如果输入数据集或工作空间在编辑会话中,则为 True。

代码示例

IsBeingEdited 示例 1

以下代码在开始新的工作空间之前检查工作空间是否已经在编辑会话中。

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()
IsBeingEdited 示例 2

以下代码列出了地图中具有待处理编辑的任何要素图层的名称。

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)