ListVersions (arcpy.da)

Краткая информация

Перечисляет версии в рабочей области.

Обсуждение

Вы можете указать путь к файлу подключения ArcSDE как аргумент функции или вы можете задать в переменной среды рабочей области файл подключения ArcSDE и вызвать функцию ListVersions без аргументов.

ПримечаниеПримечание:

Функцию arcpy.da.ListVersions не следует путать с функцией arcpy.ListVersions, которая используется для получения списка имен версий, с которыми может работать подключенный пользователь.

Синтаксис

ListVersions (sde_workspace)
ПараметрОбъяснениеТип данных
sde_workspace

Рабочая область базы геоданных ArcSDE.

String
Возвращено значение
Тип данныхОбъяснение
Version

Список Python, возвращаемый функцией с объектами Version.

Пример кода

Пример ListVersions 1

Определение всех версий, измененных за прошедшую неделю.

import arcpy
import datetime

# Use datetime to establish current date/time
#
now = datetime.datetime.now()

sdeConnection = "Database Connections/toolboxDEFAULTVersion.sde"

# Compare lastModified property of each version to current date, and 
#  print version name if the version was modified in the last 7 days.
#
for version in arcpy.da.ListVersions(sdeConnection):
    if (now - version.lastModified).days < 7:
        print(version.name)
Пример ListVersions 2

Удаление всех версий, которые принадлежат определенному пользователю и которых нет потомков.

import arcpy

sdeConnection = "Database Connections/toolboxDEFAULTVersion.sde"

for version in arcpy.da.ListVersions(sdeConnection):
    # Delete any versions owned by "RJones" that don't have any children
    #
    if version.name.split(".")[0] == "RJones" and not version.children:
        print("Deleting version {0}".format(version.name))
        arcpy.DeleteVersion_management(sdeConnection, version.name)

Связанные темы

5/10/2014