중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 76.71% 에서 번역되고 있습니다.

29.3. QGIS 파이썬 콘솔

이 장을 보다 보면 알게 되겠지만, QGIS는 플러그인 아키텍처로 설계되어 있습니다. 플러그인은 지리공간 업계에서는 매우 유명한 언어인 파이썬으로 작성할 수 있습니다.

QGIS는 사용자가 객체(레이어, 피처, 인터페이스)와 대화형 작업을 할 수 있도록 파이썬 API(예시 코드를 보고 싶다면 PyQGIS 개발자 쿡북 을 참조)를 제공합니다. 물론 QGIS에는 파이썬 콘솔도 있습니다.

The QGIS Python Console is an interactive shell for Python command executions. It also has a Python file editor that allows you to edit and save your Python scripts. Both console and editor are based on PyQScintilla2 package. To open the console go to Plugins ► Python Console (Ctrl+Alt+P).

29.3.1. 대화형 콘솔

The console is a Python interpreter that allows you to execute Python commands. Modules from QGIS (analysis, core, gui, server, processing, 3d) and Qt (QtCore, QtGui, QtNetwork, QtWidgets, QtXml) as well as Python’s math, os, re and sys modules are already imported and can be used directly.

대화형 콘솔은 툴바, 입력 영역 그리고 출력 영역으로 이루어져 있습니다.

../../../_images/python_console.png

그림 29.15 파이썬 콘솔

29.3.1.1. 툴바

툴바는 다음 도구들을 제공합니다:

29.3.1.2. Input area

The Console input area main features are:

  • 다음 API들을 위한 코드 완성, 문법 구문 강조, 그리고 팝업 도움말:

    • 파이썬

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrl+Alt+Space: 파이썬 콘솔 설정 에서 활성화하면 사용할 수 있는 자동 완성 목록 보기

  • 입력 영역에서 Enter 키를 누르거나 runConsole 아이콘을 클릭해서 코드 조각(snippet) 실행하기

  • 출력 영역에서 컨텍스트 메뉴의 Run Selected 를 선택하거나 Ctrl+E 조합키를 눌러 코드 조각 실행하기

  • 입력 영역에서 UpDown 방향키를 눌러 명령어 이력을 탐색하고 원하는 명령어 실행하기

  • Ctrl+Shift+Space 조합키로 명령어 이력 살펴보기: 어느 행을 더블클릭하면 해당 명령어를 실행합니다. 입력 영역에서 컨텍스트 메뉴를 통해 Command History 대화창을 열 수도 있습니다.

  • 명령어 이력 저장 및 삭제: 명령어 이력은 활성화된 사용자 프로파일 폴더 아래 console_history.txt 파일로 저장됩니다.

  • Type the following special commands:

    • ? to show a help of the Python Console

    • _api to open QGIS C++ API documentation or _api(object) for a specific object documentation (in QGIS C++ API or Qt API documentation)

    • _pyqgis to open QGIS Python API documentation or _pyqgis(object) for a specific object documentation (in QGIS Python API or Qt API documentation)

    • _cookbook to open PyQGIS Cookbook.

    • ! followed by a command to execute Shell commands from the Python Console. The console will start a subprocess, and forward its output to the Python Console Output. While the subprocess is running, the Python Console Input switches to STDIN mode and forwards entered character to the child process. This makes it possible to send confirmation when the child program asks for it. When the Console is in STDIN mode, pressing Ctrl+C kills the subprocess. It is also possible to affect the result of a command to a variable with the syntax var = !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']
      

출력 패널에서 실행한 명령어 재사용

출력 패널에서 일부 텍스트를 선택한 다음 Ctrl+E 조합키를 누르면 코드 조각을 실행할 수 있습니다. 선택한 텍스트가 인터프리터 프롬프트(>>>, ...)를 담고 있어도 상관없습니다.

29.3.2. 코드 편집기

편집기 위젯을 활성화하려면 showEditorConsole Show Editor 버튼을 클릭하십시오. 편집기는 파이썬 파일을 편집하고 저장할 수 있으며, 사용자 코드를 관리하기 위한 고급 기능들(코드 주석 추가 및 삭제, 문법 확인, GitHub를 통해 코드 공유 등등)을 제공합니다. 주요 기능은 다음과 같습니다:

  • 다음 API들을 위한 코드 완성, 문법 구문 강조, 그리고 팝업 도움말:

    • 파이썬

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrl+Space: 자동 완성 목록 보기

  • GitHub 를 통해 코드 조각 공유

  • Ctrl+4: 문법 확인하기

  • 검색란 (데스크탑 환경 기본 단축키로 엽니다. 일반적으로 Ctrl+F 조합키를 누르면 됩니다.):

    • 데스크탑 환경 기본 단축키(Ctrl+GShift+Ctrl+G)를 사용해서 다음/이전 찾기

    • 검색창 입력 시 첫 번째 일치 항목을 자동으로 찾기

    • 검색창을 열 때 처음 찾은 문자열을 선택하도록 설정하기

    • Esc 키를 눌러 검색창 닫기

  • 객체 조사기: 클래스 및 함수 탐색기

  • 마우스 클릭으로 객체 정의로 가기 (객체 조사기에서)

  • 컨텍스트 메뉴의 runConsole Run Selected 를 선택해서 코드 조각 실행하기

  • 컨텍스트 메뉴의 start Run Script 를 선택해서 전체 스크립트를 실행하기 (이렇게 하면 .pyc 확장자를 가진 바이트코드 파일을 컴파일합니다.)

참고

코드 편집기에서 스크립트 일부 또는 전체를 실행하면 콘솔의 출력 영역에 결과를 산출합니다.

../../../_images/python_console_editor.png

그림 29.16 파이썬 콘솔 편집기

옵션 저장하기

콘솔 위젯 상태를 저장하려면, 닫기 버튼을 사용해서 파이썬 콘솔을 종료해야 합니다. 이렇게 하면 다음 시작 시 도형이 복구되도록 저장할 수 있습니다.