Hice un procesamiento por lotes de varias capas vectoriales y ahora el nombre para mostrar de cada archivo se "disuelve" al acceder a la layer.name()
función en QGIS. ¿ Leí en esta respuesta de underdark a Cambiar el nombre de la capa del vector de salida del script de procesamiento en QGIS? , que puedo establecer el nombre del archivo pero desafortunadamente demasiado tarde.
Puedo obtener todos los archivos de mi proyecto para estar en una lista con
layers = iface.mapCanvas().layers()
y todos los nombres con esto:
names = [layer.name() for layer in QgsMapLayerRegistry.instance().mapLayers().values()]
Con la ayuda de esta respuesta a ¿ Cómo obtener la ruta del proyecto o el archivo de capa en PyQGIS? , Puedo obtener los nombres del archivo con el que estoy trabajando:
import os
real_names = []
for li in layers:
(myDirectory,nameFile) = os.path.split(li.dataProvider().dataSourceUri())
real_names.append(nameFile.split("|")[0]
Leer el API API para QgsVectorLayer no me ayudó. Lo que quiero es cambiar el nombre de los archivos para mostrar el nombre del archivo como nombre para mostrar. ¿Cómo archivar eso con la consola de Python?