readline — GNU readline 인터페이스
readline — GNU readline 인터페이스
readline 모듈은 GNU readline 라이브러리와 그 변형들에 대한 인터페이스를 제공해요. 커맨드라인 편집, 히스토리, 자동 완성 기능을 파이썬 대화형 인터프리터나 사용자 정의 CLI 에서 사용할 수 있게 해줘요. 이 모듈은 선택적(optional) 모듈이에요.
본문
이 모듈은 선택적 모듈이에요. 여러분의 CPython 사본에 없더라도, 파이썬을 제공한 배포자에게서 문서를 찾아보세요. 여러분이 배포자라면 선택적 모듈의 요구 사항을 참고하세요. 가용성: Unix.
기본적으로 대화형 인터프리터의 키 입력은 readline을 통해 동작합니다. 예를 들어:
- 키보드 편집 — 화살표 키로 커서를 이동하고 line editing 이 가능해요.
- 히스토리 — 이전에 입력한 명령을 위·아래 화살표로 불러올 수 있어요.
- 자동 완성 —
readline.parse_and_bind()를 통해 탭 완성을 설정할 수 있어요.
이 모듈은 다음과 같은 핵심 기능을 제공해요.
- readline.parse_and_bind(string) — readline 초기화 파일의 한 줄을 구문 분석해 실행해요. 예를 들어
readline.parse_and_bind('tab: complete')는 탭 완성을 활성화해요. - readline.get_line_buffer() — 편집 라인 버퍼의 내용을 반환해요.
- readline.add_history(string) — 히스토리 목록 끝에 string 을 추가해요.
- readline.get_history_item(index) — 인덱스에 해당하는 히스토리 항목을 반환해요.
- readline.set_completer(function) — 완성 함수를 설정해요. 함수는 텍스트와 상태를 받아 완성 후보 문자열을 반환해요.
또한 히스토리 파일 저장·로드(write_history_file(), read_history_file()), 히스토리 길이 설정(set_history_length()) 등의 기능도 제공돼요. 대화형 개발이나 CLI 도구에서 탭 완성과 히스토리 탐색을 구현할 때 유용해요.