
readline_completion_function는 커맨드 라인에서 자동완성을 구현하는 데 사용되는 함수입니다. 이 함수의 매개변수는 두 가지가 있습니다.
- 첫 번째 매개변수는 현재 입력된 커맨드 라인의 문자열입니다.
- 두 번째 매개변수는 현재 커맨드 라인에 입력된 문자열의 인덱스입니다.
이 함수의 반환값은 자동완성 가능한 문자열의 목록입니다.
readline_completion_function를 사용하여 커맨드 라인에서 자동완성을 구현하는 방법은 다음과 같습니다.
1. readline_completion_function을 정의합니다.
2. readline_completion_function에서 자동완성 가능한 문자열의 목록을 반환합니다.
3. 커맨드 라인에서 readline_completion_function을 호출합니다.
예를 들어, readline_completion_function을 다음과 같이 정의할 수 있습니다.
#hostingforum.kr
python
import readline
def my_completion(text, state):
if state == 0:
return 'apple ' + text
elif state == 1:
return 'banana ' + text
elif state == 2:
return 'cherry ' + text
else:
return None
readline.set_completer_delims(' tn;')
readline.parse_and_bind("tab: complete")
readline.set_completer(my_completion)
이 예제에서는 readline_completion_function인 my_completion이 정의되어 있습니다. my_completion 함수는 현재 입력된 커맨드 라인의 문자열과 인덱스를 매개변수로 받고, 자동완성 가능한 문자열의 목록을 반환합니다.
커맨드 라인에서 readline_completion_function을 호출하기 위해, parse_and_bind 함수를 사용하여 tab 키를 완성 키로 설정하고, set_completer 함수를 사용하여 my_completion 함수를 readline_completion_function으로 설정합니다.
이제, 커맨드 라인에서 tab 키를 누르면 자동완성 가능한 문자열의 목록이 표시됩니다.
2025-07-19 15:24