ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Walk

  • Resumen
  • Debate
  • Sintaxis
  • Muestra de código

Resumen

Genere nombres de datos en una estructura de directorio/base de datos recorriendo el árbol de arriba abajo o de abajo arriba. Cada directorio/espacio de trabajo del árbol genera una tupla de tres: ruta de directorio, nombres de directorio y nombres de archivo.

Debate

El módulo os de Python incluye una función os.walk que se puede usar para atravesar un árbol de directorio y buscar datos. os.walk se basa en archivos y no reconoce el contenido de la base de datos, como clases de entidad, tablas o rásteres de geodatabase. arcpy.da.Walk se puede usar para catalogar datos.

Sintaxis

Walk (top, {topdown}, {onerror}, {followlinks}, {datatype}, {type})
ParámetroExplicaciónTipo de datos
top

The top-level workspace that will be used.

String
topdown

If topdown is True or not specified, the tuple for a directory is generated before the tuple for any of its workspaces (workspaces are generated top-down). If topdown is False, the tuple for a workspace is generated after the tuple for all of its subworkspaces (workspaces are generated bottom-up).

When topdown is True, the dirnames list can be modified in-place, and Walk will only recurse into the subworkspaces whose names remain in dirnames. This can be used to limit the search, impose a specific order of visiting, or even to inform Walk about directories the caller creates or renames before it resumes Walk again. Modifying dirnames when topdown is False is ineffective, because in bottom-up mode the workspaces in dirnames are generated before dirpath itself is generated.

(El valor predeterminado es True)

Boolean
onerror

Errors are ignored by default. The onerror function will be called with an OSError instance.

The function can be used to report the error and continue with the walk or raise an exception to abort.

Nota:

The file name is available as the filename attribute of the exception object.

(El valor predeterminado es None)

Function
followlinks

By default, Walk does not walk into connection files. Set followlinks to True to visit connection files.

(El valor predeterminado es False)

Boolean
datatype

The data type to limit the results returned. Valid data types are the following:

  • Any —All data types are returned. Equivalent to using None or skipping the argument.
  • 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

Multiple data types are supported if entered as a list or tuple.

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

(El valor predeterminado es None)

String
type

Feature and raster data types can be further limited by type.

  • All —All types are returned. Equivalent to using None or skipping the argument.
  • Any —All types are returned. Equivalent to using None or skipping the argument.

Valid feature types are the following:

  • Multipatch — Only multipatch feature classes are returned.
  • Multipoint —Only multipoint feature classes are returned.
  • Point —Only point feature classes are returned.
  • Polygon —Only polygon feature classes are returned.
  • Polyline —Only polyline feature classes are returned.

Valid raster types are:

  • BIL — Esri Band Interleaved by Line file
  • BIP — Esri Band Interleaved by Pixel file
  • BMP — Bitmap graphic raster dataset format
  • BSQ — Esri Band Sequential file
  • DAT — ENVI DAT file
  • GIF — Graphic Interchange Format for raster datasets
  • GRID — Esri Grid raster dataset format
  • IMG — ERDAS IMAGINE raster data format
  • JP2 — JPEG 2000 raster dataset format
  • JPG — Joint Photographic Experts Group raster dataset format
  • PNG — Portable Network Graphic raster dataset format
  • TIF — Tag Image File Format for raster datasets

Multiple data types are supported if entered as a list or tuple.

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

(El valor predeterminado es None)

String

Valor de retorno

Tipo de datosExplicación
Generator

Genera una tupla de tres que incluye el espacio de trabajo, nombres de directorio y nombres de archivo.

  • dirpath es la ruta al espacio de trabajo como una cadena.
  • dirnames es una lista de nombres de subdirectorios y otros espacios de trabajo en dirpath.
  • filenames es una lista de nombres de contenido que no forma parte del espacio de trabajo en dirpath.
Nota:

Los nombres de las listas incluyen solo el nombre base, no se incluyen componentes de la ruta. Para obtener una ruta completa (que comience con parte superior) a un archivo o directorio en dirpath, haga os.path.join(dirpath, name).

Muestra de código

Ejemplo 1 de Walk

Use la función Walk para catalogar clases de entidad poligonal.çç

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))
Ejemplo 2 de Walk

Use la función Walk para catalogar datos ráster. Se omitirán todos los rásteres de una carpeta llamada 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))

Temas relacionados

  • Crear listas de datos

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

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

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal