Quelle instruction doit être saisie pour savoir combien de champs possède une couche ?
Solution :
# Nombre de champs pour la couche active
layer = iface.activeLayer()
nb_fields = len(layer.fields())
print("La couche {} compte {} champs".format(layer.name(), nb_fields))
Par ailleurs, quelle instruction doit être saisie pour savoir de combien de couches se compose le projet en cours ?
Solution :
# Nombre de couches du projet en cours
# (dans les deux cas l'objet retourné est un dictionnaire et
# on peut utiliser la fonction native len() pour savoir le nombre
# d'entrées qu'il contient)
nb_layers = len(QgsProject.instance().mapLayers())
print('Le projet contient {} couche(s)'.format(nb_layers))
Exercice1.py
# Exercice 1
layer = iface.activeLayer()
name = layer.name()
nb_features = layer.featureCount()
print("La couche {} compte {} entités"
.format(name, nb_features))
# nb_fields = layer.fields().count() # <- Fonctionne aussi
nb_fields = len(layer.fields())
print("La couche {0} compte {1} champs"
.format(name, nb_fields))
nb_layers = len(QgsProject.instance().mapLayers())
print("Le projet contient {} couche(s)".format(nb_layers))