Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用arcpy将listlayers转换为列表。(arcpro蟒蛇3)_Python_List_Arcgis_Arcpy - Fatal编程技术网

Python 使用arcpy将listlayers转换为列表。(arcpro蟒蛇3)

Python 使用arcpy将listlayers转换为列表。(arcpro蟒蛇3),python,list,arcgis,arcpy,Python,List,Arcgis,Arcpy,如何将lyr变量转换为列表?变量类型列为类“arcpy.\u mp.Layer”。我应该将其转换为字符串,然后插入列表中吗 import arcpy aprx = arcpy.mp.ArcGISProject("./test.aprx") for m in aprx.listMaps(): for lyr in m.listLayers(): print (lyr) output layer1 layer2 layer3 desired output ['layer1

如何将lyr变量转换为列表?变量类型列为类“arcpy.\u mp.Layer”。我应该将其转换为字符串,然后插入列表中吗

import arcpy
aprx = arcpy.mp.ArcGISProject("./test.aprx")
for m in aprx.listMaps():
    for lyr in m.listLayers():
        print (lyr)

output
layer1
layer2
layer3

desired output
['layer1', 'layer2', 'layer3']
例:2

这似乎也没有进入列表中。

m.listLayers()
已经返回类型为的图层对象列表。您只需要构建一个图层名称列表。以下是如何做到这一点:

import arcpy
aprx = arcpy.mp.ArcGISProject("./test.aprx")

map_layers = []  # list of lists where each sublist contains layer names for each map in project

for m in aprx.listMaps():
    lyr_names = []  # initialize an empty list and append layer names to it in every iteration
    for lyr in m.listLayers():
       lyr_names.append(lyr.name)
    map_layers.append(lyr_names)

print(map_layers)
因此,如果您的项目有两个贴图,其中每个贴图都有3个图层,则上面的代码段将打印结果如下:

[['Map 1 Layer 1 Name', 'Map 1 Layer 2 Name', 'Map 1 Layer 3 Name'],
 ['Map 2 Layer 1 Name', 'Map 2 Layer 2 Name', 'Map 2 Layer 3 Name']]
[['Map 1 Layer 1 Name', 'Map 1 Layer 2 Name', 'Map 1 Layer 3 Name'],
 ['Map 2 Layer 1 Name', 'Map 2 Layer 2 Name', 'Map 2 Layer 3 Name']]