ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Walk

  • Сводка
  • Описание
  • Синтаксис
  • Пример кода

Сводка

Создает имена данных в структуре каталог/база данных проходом по дереву сверху вниз или снизу вверх. Каждая каталог/рабочая область дает кортеж из трех составляющих: путь к каталогу, имена каталогов и имена файлов.

Описание

Модуль Python os содержит функцию os.walk, которую можно использовать для прохода по дереву директорий и поиску данных. os.walk работает только с файлами и не поддерживает работу с содержимым баз данных, например, классов объектов баз геоданных, таблиц и растров. arcpy.da.Walk можно использовать для создания каталога имеющихся данных.

Синтаксис

Walk (top, {topdown}, {onerror}, {followlinks}, {datatype}, {type})
ПараметрОбъяснениеТип данных
top

Рабочая область верхнего уровня, которая будет использована.

String
topdown

Если для параметра topdown выбрано True или не было указано значение, то кортеж для каталога генерируется до кортежа для любой из его рабочих областей (рабочие области создаются сверху вниз). Если для параметра topdown выбрано значение False, то кортеж для рабочей области создается после создания кортежей для всех её вложенных рабочих областей (рабочие области создаются снизу вверх).

Когда для параметра topdown выбрано значение True, то список dirnames может быть изменен на месте, и Walk будет выполнять рекурсивный обход только тех вложенных рабочих областей, имена которых остаются в dirnames. Это может быть полезно для ограничения поиска, установки определенного порядка посещения или даже для информирования Walk о тех каталогах, которые вызывающая сторона создает или переименовывает перед возобновлением работы Walk. Изменение dirnames в том случае, если topdown установлен как False, неэффективно, поскольку, при режиме снизу вверх, рабочие области в dirnames будут созданы до того, как будет создан сам dirpath.

(Значение по умолчанию — True)

Boolean
onerror

По умолчанию, ошибки игнорируются. Функция onerror будет вызвана с экземпляром OSError.

Эта функция может быть использована для отчета об ошибке и продолжения прохода или остановки процесса при получении исключения.

Примечание:

Имя файла доступно в качестве атрибута filename объекта исключения.

(Значение по умолчанию — None)

Function
followlinks

По умолчанию Walk не проходит файлы подключений. Установите для followlinks значение True для прохода файлов подключений.

(Значение по умолчанию — False)

Boolean
datatype

Тип данных для ограничения возвращаемых результатов. Допустимыми типами данных являются следующие:

  • Any —Возвращаются все типы данных. Эквивалентно использованию None или пропуску аргумента.
  • CadDrawing
  • CadastralFabric
  • Container
  • FeatureClass
  • FeatureDataset
  • GeometricNetwork
  • LasDataset
  • Layer
  • Locator
  • Map
  • MosaicDataset
  • NetworkDataset
  • PlanarGraph
  • RasterCatalog
  • RasterDataset
  • RelationshipClass
  • RepresentationClass
  • Style
  • Table
  • Terrain
  • Text
  • Tin
  • Tool
  • Toolbox
  • Topology

Поддерживается множество типов данных, если они вводятся списком или кортежем.

for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
    datatype=['MosaicDataset', 'RasterDataset']):

(Значение по умолчанию — None)

String
type

Типы растровых данных и типы данных объектов могут быть далее ограничены типом.

  • All —Возвращаются все типы. Эквивалентно использованию None или пропуску аргумента.
  • Any —Возвращаются все типы. Эквивалентно использованию None или пропуску аргумента.

Допустимыми типами объектов являются следующие:

  • Multipatch — Возвращаются только классы объектов мультипатч.
  • Multipoint —Возвращаются только классы мультиточечных объектов.
  • Point —Возвращаются только классы точечных объектов.
  • Polygon —Возвращаются только классы полигональных объектов.
  • Polyline —Возвращаются только классы полилинейных объектов.

Следующие типы растров являются корректными:

  • BIL — Файл Esri Band Interleaved by Line
  • BIP — Файл Esri Band Interleaved by Pixel
  • BMP — Формат битовой графики для наборов растровых данных
  • BSQ — Файл Esri Band Sequential
  • DAT — Файл ENVI DAT
  • GIF — Графический обменный формат для наборов растровых данных
  • GRID — Формат наборов растровых данных Esri Grid
  • IMG — Формат растровых данных ERDAS IMAGINE
  • JP2 — Формат наборов растровых данных JPEG 2000
  • JPG — Формат наборов растровых данных Joint Photographic Experts Group
  • PNG — Формат наборов растровых данных Portable Network Graphic
  • TIF — Теговый формат файла изображения для набора растровых данных

Поддерживается множество типов данных, если они вводятся списком или кортежем.

for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
    datatype='FeatureClass', type=['Polygon', 'Polyline']):

(Значение по умолчанию — None)

String

Значение отраженного сигнала

Тип данныхОбъяснение
Generator

Выдает кортеж из трех элементов, который включает рабочую область, имена каталогов и имена файлов.

  • dirpath – путь к рабочей области в виде текстовой строки.
  • dirnames представляет собой список имен подкаталогов и других рабочих областей в dirpath.
  • filenames представляет собой список имен ресурсов, не являющихся рабочими областями, в dirpath.
Примечание:

Имена в этих списках включают только базовое имя; никакие компоненты пути не включаются. Чтобы получить полный путь (начинающийся с вершины) к файлу или директории в dirpath, выполните os.path.join(dirpath, name).

Пример кода

Walk. Пример 1

Используйте функцию Walk для создания каталога полигональных классов объектов.

import arcpy
import os
workspace = "c:/data"
feature_classes = []
walk = arcpy.da.Walk(workspace, datatype="FeatureClass", type="Polygon")
for dirpath, dirnames, filenames in walk:
    for filename in filenames:
        feature_classes.append(os.path.join(dirpath, filename))
Walk пример 2

Используйте функцию Walk для создания каталога растровых данных. Любые растры в папке с именем back_up будут проигнорированы.

import arcpy
import os
workspace = "c:/data"
rasters = []
walk = arcpy.da.Walk(workspace, topdown=True, datatype="RasterDataset")
for dirpath, dirnames, filenames in walk:
    # Disregard any folder named 'back_up' in creating list of rasters
    if "back_up" in dirnames:
        dirnames.remove('back_up')
    for filename in filenames:
        rasters.append(os.path.join(dirpath, filename))

Связанные разделы

  • Создание списков данных

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация