Importante
La traducción es un esfuerzo comunitario puede unirse. Esta página está actualmente traducida en |progreso de traducción|.
29.3. Consola Python de QGIS
Como verá más adelante en este capítulo, QGIS ha sido diseñado con una arquitectura de complementos. Los complementos se pueden escribir en Python, un lenguaje muy famoso en el mundo geoespacial.
QGIS trae una API de Python (ver PyQGIS Developer Cookbook para algunos ejemplos de código) para permitir que el usuario interactúe con sus objetos (capas, función o interfaz). QGIS también tiene una consola Python.
La Consola Python de QGIS es un intérprete de comandos interactivo para la ejecución de comandos Python. También tiene un editor de archivos Python que le permite editar y guardar sus scripts Python. Tanto la consola como el editor están basados en el paquete PyQScintilla2. Para abrir la consola vaya a
(Ctrl+Alt+P).29.3.1. La consola interactiva
La consola es un intérprete de Python que permite ejecutar comandos de Python. Los módulos de QGIS (analysis, core, gui, server, processing, 3d) y Qt (QtCore, QtGui, QtNetwork, QtWidgets, QtXml) así como los módulos math, os, re y sys de Python ya están importados y se pueden utilizar directamente.
La consola interactiva esta compuesta por una barra de herramientas, un área de entrada y una de salida.
29.3.1.1. Barra de herramietas
La barra de herramientas propone las siguientes herramientas:
Ejecutar Comando disponible en el área de entrada: igual que pulsar Intro;
Mostrar editor: conmuta la visibilidad El Editor de código;
Opciones…: abre un diálogo para configurar propiedades de la consola;
Ayuda… proporciona un menú para acceder a diversa documentación:
Ayuda Consola Python (la página actual)
Acoplar Editor de Código para acoplar o desacoplar el panel en la interfaz QGIS
29.3.1.2. Área de entrada
Las principales prestaciones del área de introducción de datos de la consola son:
Completado de código, resaltado de sintaxis y atajos para las siguientes APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Alt+Espacio para ver la lista de autocompletado habilitados en Configuración de la consola Python;
Ejecute fragmentos de código desde el área de entrada escribiendo y presionando Enter o Ejecutar comando;
Ejecute fragmentos de código desde el área de salida usando :guilabel:ʻIntroducir seleccionado` del menú contextual o presionando Ctrl+E;
Examine el historial de comandos desde el área de entrada usando las teclas de flecha Arriba y Abajo y ejecute el comando que desee;
Ctrl+Shift+Espacio para ver el historial de comandos: haga doble clic en una fila para ejecutar el comando. También se puede acceder al diálogo Historial de comandos desde el menú contextual del área de entrada;
Guarde y borre el historial de comandos. El historial se guardará en el archivo
console_history.txt
en la carpeta activa user profile;Escriba los siguientes comandos especiales:
?
para mostrar una ayuda de la Consola Python_api
para abrir la documentación QGIS C++ API o_api(object)
para la documentación de un objeto específico (en la documentación de QGIS C++ API o Qt API)_pyqgis
para abrir la documentación de API Python QGIS o_pyqgis(object)
para la documentación de un objeto específico (en la documentación de la API Python QGIS o la API Qt)._cookbook
para abrir PyQGIS Cookbook.!
seguido de un comando para ejecutar comandos Shell desde la Consola de Python. La consola iniciará un subproceso, y reenviará su salida a la Salida de la Consola Python. Mientras se ejecuta el subproceso, la Entrada de la Consola Python cambia al modo STDIN y reenvía los caracteres introducidos al proceso hijo. Esto hace posible enviar confirmación cuando el programa hijo la pide. Cuando la Consola está en modo STDIN, pulsando Ctrl+C se mata el subproceso. También es posible afectar el resultado de un comando a una variable con la sintaxisvar = !cmd
.>>> !echo QGIS Rocks! QGIS Rocks >>> !gdalinfo --version GDAL 3.6.2, released 2023/01/02 >>> !pip install black # Install black python formatter using pip (if available) >>> sql_formats = !ogrinfo --formats | grep SQL >>> sql_formats ['SQLite -vector- (rw+v): SQLite / Spatialite', ' MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database', ' PostgreSQL -vector- (rw+): PostgreSQL/PostGIS', ' MySQL -vector- (rw+): MySQL', ' PGDUMP -vector- (w+v): PostgreSQL SQL dump']
Truco
Reutilizar comandos ejecutados desde el panel de salida
Puede ejecutar fragmentos de código desde el panel de salida seleccionando un texto y presionando Ctrl+E. No importa si el texto seleccionado contiene la indicación del intérprete (>>>
, ...
).
29.3.2. El Editor de código
Usa el botón Mostrar Editor para activar el widget del editor. Permite editar y guardar archivos de Python y ofrece funcionalidades avanzadas para gestionar tu código (comentar y descomentar código, comprobar la sintaxis, compartir el código vía GitHub y mucho más). Las características principales son:
Completado de código, resaltado de sintaxis y atajos para las siguientes APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Space para ver la lista de autocompletado.
Compartir fragmentos de código a través de GitHub.
Ctrl+4 comprobar sintaxis.
Barra de búsqueda (ábrala con el acceso directo predeterminado del entorno de escritorio, generalmente Ctrl+F):
Utilice el acceso directo del entorno de escritorio predeterminado para buscar el siguiente/anterior (Ctrl+G y Shift+Ctrl+G);
Automáticamente encuentra la primera coincidencia al escribir en el cuadro de búsqueda;
Establecer la cadena de búsqueda inicial a la selección al abrir la búsqueda;
Presionando Esc cierra la barra de búsqueda.
Inspector de objetos: un navegador de clase y de función;
Ir a la definición de un objeto con un click del ratón (desde el Inspector de Objetos);
Ejecutar fragmentos de código con el comando Ejecutar seleccionado en el menú contextual;
Ejecutar el script entero con el comando Ejcutar Script (esto crea un archivo compilado por bytes con la extensión
.pyc
).
Nota
Ejecutar parcial o totalmente un script desde el Editor de código muestra el resultado en el área de salida de la consola.
Truco
Guardar las opciones
Para guardar el estado de los widgets de la consola, debe cerrar la consola Python desde el botón de cierre. Esto le permite guardar la geometría para restaurarla en el siguiente inicio.