8

How do I get the layer by name using PyQGIS 3?

Taras
  • 32,823
  • 4
  • 66
  • 137
Alex Verb
  • 135
  • 1
  • 5

2 Answers2

12

If you are sure there is one layer named LAYER_NAME, the shortest way:

layer = QgsProject.instance().mapLayersByName('LAYER_NAME')[0]

In that way, you can get a layer in a group layer.

print(layer)
# OUT: <qgis._core.QgsVectorLayer object at ...>
Kadir Şahbaz
  • 76,800
  • 56
  • 247
  • 389
7
listLayers = QgsProject.instance().mapLayersByName('layername')

Retrieve a list of matching registered layers by layer name.

Taras
  • 32,823
  • 4
  • 66
  • 137
Alfredo Garcia
  • 418
  • 2
  • 9