J'ai fait un traitement par lots de plusieurs couches vectorielles et maintenant le nom d'affichage de chaque fichier est "dissous" lors de l'accès à la layer.name()
fonction dans QGIS. J'ai lu cette réponse de underdark à Changer le nom de la couche du vecteur de sortie du script de traitement dans QGIS? , que je peux mettre le nom sur le nom du fichier mais malheureusement trop tard.
Je peux obtenir tous les fichiers de mon projet dans une liste avec
layers = iface.mapCanvas().layers()
et tous les noms avec ceci:
names = [layer.name() for layer in QgsMapLayerRegistry.instance().mapLayers().values()]
Avec l'aide de cette réponse à Obtenir le chemin du projet ou du fichier de couche dans PyQGIS? , Je peux obtenir les noms du fichier avec lequel je travaille:
import os
real_names = []
for li in layers:
(myDirectory,nameFile) = os.path.split(li.dataProvider().dataSourceUri())
real_names.append(nameFile.split("|")[0]
La lecture du docu API pour QgsVectorLayer ne m'a pas aidé. Ce que je veux, c'est renommer les fichiers pour afficher le nom de fichier comme nom d'affichage. Comment l'archiver avec la console python?