24.3. QGIS 파이썬 콘솔

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

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

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

24.3.1. 대화형 콘솔

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

24.3.1.1. 툴바

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

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

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

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

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

  • helpContents Help…: 현재 문서를 탐색합니다.

24.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 대화창을 열 수도 있습니다.

  • 명령어 이력 저장 및 삭제: 명령어 이력은 ~/.qgis2/console_history.txt 파일로 저장됩니다.

  • _api 를 입력하면 QGIS C++ API 문서를 엽니다.

  • _pyqgis 를 입력하면 QGIS Python API 문서를 엽니다.

  • _cookbook 을 입력하면 PyQGIS 개발자 쿡북 을 엽니다.

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

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

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

그림 24.29 파이썬 콘솔

24.3.2. 코드 편집기

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

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

    • 파이썬

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

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

  • http://codepad.org/ 를 통해 코드 조각 공유하기

  • Ctrl+4: 문법 확인하기

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

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

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

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

    • Esc 키를 눌러 검색창 닫기

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

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

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

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

참고

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

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

그림 24.30 파이썬 콘솔 편집기

24.3.3. 옵션

콘솔의 출력 영역 또는 코드 편집기의 컨텍스트 메뉴, 또는 콘솔 툴바를 통해 Python Console Settings 대화창을 열 수 있습니다. 이 대화창에서 파이썬 콘솔의 습성을 관리하고 제어할 수 있습니다:

ConsoleEditor 양쪽에서 다음을 지정할 수 있습니다:

  • Autocompletion: 이 옵션을 체크하면 자동 완성이 활성화됩니다. 현재 문서, 설치된 API 또는 둘 다에서 자동 완성을 가져올 수 있습니다.

    • Autocompletion threshold: 자동 완성 목록을 표시할 한계값(입력한 문자 개수)을 설정합니다.

  • Typing

    • Automatic parentheses insertion: 이 옵션을 활성화하면 괄호를 자동으로 닫습니다.

    • Automatic insertion of the 〈import〉 string on 〈from xxx〉: 가져오기를 지정할 때 〈import〉 의 삽입을 활성화합니다.

Editor 에서는 다음도 지정할 수 있습니다:

  • Run and Debug

    • Enable Object Inspector (switching between tabs may be slow): 객체 점검기를 활성화합니다.

    • Auto-save script before running: 실행 시 스크립트를 자동으로 저장하는 옵션입니다. 시스템의 임시 디렉터리에 임시 파일을 저장하고, 실행 후에 자동적으로 삭제할 것입니다.

  • Font and Colors: 편집기에서 사용할 글꼴과 강조 색상을 지정할 수 있습니다.

APIs 에서는 다음을 지정할 수 있습니다:

  • Using preloaded APIs file: 미리 불러온 API 파일을 사용할지 선택할 수 있습니다. 이 옵션을 활성화하지 않는 경우 API 파일을 추가할 수 있고, 또 준비된 API 파일을 사용할지도 선택할 수 있습니다. (다음 옵션 참조)

  • Using prepared APIs file: 이 옵션을 활성화하면 코드 자동 완성을 위해 *.pap 파일을 사용할 것입니다. 준비된 API 파일을 생성하려면, 적어도 하나의 *.api 파일을 불러온 다음 Compile APIs… 버튼을 클릭해서 컴파일해야 합니다.

옵션 저장하기

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