대화 형 Python 인터프리터에서 탭 완성을 어떻게 얻을 수 있습니까?


14

필자는 종종 Python 3000의 대화식 인터프리터를 사용하지만 ipython에서 익숙한 탭 완성의 편의성이 없어서 Python 3.x에서는 사용할 수 없습니다.

2.6과 3.x에서 탭 완성을 어떻게 활성화합니까?

답변:


17

먼저 .pythonstartup.py홈 디렉토리에 새 파일을 작성 하십시오. 다음 스크립트를 넣으십시오.

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

문자열 주위의 괄호는 Python 2와 Python 3 모두에서 작동하는지 확인합니다.

대화식 인터프리터가 시작될 때마다에 정의 된 스크립트 $PYTHONSTARTUP가 있으면이를 실행합니다 . 위 스크립트를 실행하도록 설정하려면 다음을 입력하십시오.

export PYTHONSTARTUP="~/.pythonstartup.py"

새 쉘이 시작될 때 자동으로 실행되도록 이 행을 파일 .bashrc또는.bash_profile 파일에 작성해야합니다 .


6
주의 사항 : 터미널을 시작한 다음 디렉토리를 변경하면 작동하지 않습니다. 디렉토리에 관계없이이 방법을 사용하려면 다음과 같은 전체 경로를 사용해야합니다.export PYTHONSTARTUP="/home/user/.pythonstartup.py"
Pithikos

1
수출을 통해 수출에 좀 더 관대해질 수 있습니다PYTHONSTARTUP=~/.pythonstartup.py
Mikael Fremling

대화식 모드에서 파일을 시작하면 작동하지 않습니다 (예 :) python -i main.py. 그렇게 할 수있는 방법이 있습니까?
Chris Anderson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.