중요

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

29.3. QGIS 파이썬 콘솔

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

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

QGIS 파이썬 콘솔은 파이썬 명령어 실행을 위한 대화형 셸(shell)입니다. 그리고 사용자가 파이썬 스크립트를 편집하고 저장할 수 있는 파이썬 파일 편집기가 있습니다. 콘솔과 편집기 모두 PyQScintilla2 패키지를 기반으로 합니다. 콘솔을 열려면 Plugins ► Python Console (Ctrl+Alt+P) 메뉴 옵션을 선택하십시오.

29.3.1. 대화형 콘솔

이 콘솔은 사용자가 파이썬 명령어를 실행할 수 있게 해주는 파이썬 해석기입니다. QGIS(analysis, core, gui, server, processing, 3d)와 Qt(QtCore, QtGui, QtNetwork, QtWidgets, QtXml)의 모듈은 물론 파이썬의 math, os, re 및 sys 모듈이 이미 구현되어 있기 때문에 직접 사용할 수 있습니다.

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

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

그림 29.15 파이썬 콘솔

29.3.1.1. 툴바

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

  • clearConsole Clear Console: 출력 영역을 지웁니다.

  • start Run Command: 입력 영역에서 사용할 수 있습니다. Enter 키를 누르는 것과 동일한 기능입니다.

  • showEditorConsole Show Editor: 코드 편집기 를 켜고 끕니다.

  • options Options…: 콘솔 속성 을 환경설정할 수 있는 대화창을 엽니다.

  • helpContents Help…: 여러 문서에 접근할 수 있는 메뉴를 제공합니다:

  • dock Dock Code Editor: QGIS 인터페이스에 패널을 도킹시키거나 도킹을 해제합니다.

29.3.1.2. 입력 영역

콘솔 입력 영역의 주요 기능은 다음과 같습니다:

  • 다음 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 파일로 저장됩니다.

  • 다음 특수 명령어들을 입력하십시오:

    • ?: 파이썬 콘솔 도움말을 출력합니다.

    • _api 또는 _api(object): 전자는 QGIS C++ API 문서를 열고 후자는 (QGIS C++ API 또는 Qt API 문서에 있는) 특정 객체 문서를 엽니다.

    • _pyqgis 또는 _pyqgis(object): 전자는 QGIS Python API 문서를 열고 후자는 (QGIS Python API 또는 Qt API 문서에 있는) 특정 객체 문서를 엽니다.

    • _cookbook: PyQGIS 쿡북 을 엽니다.

    • !: 명령어 앞에 느낌표를 붙이면 파이썬 콘솔에서 셸(Shell) 명령어를 실행할 수 있습니다. 콘솔이 하위 프로세스를 시작해서 그 산출물을 파이썬 콘솔 산출물로 포워딩할 것입니다. 하위 프로세스가 실행되는 동안, 파이썬 콘솔 입력은 표준 입력(STDIN) 모드로 전환되어 입력되는 문자들을 하위 프로세스로 포워딩합니다. 즉 하위 프로세스가 확인을 요청할 때 이를 전송해줄 수 있습니다. 콘솔이 STDIN 모드일 때 Ctrl+C 조합키를 누르면 하위 프로세스를 중단시킵니다. 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 파이썬 콘솔 편집기

옵션 저장하기

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