web-dev-qa-db-ja.com

インタラクティブPythonインタープリターでタブ補完を取得するにはどうすればよいですか?

私はよくPython 3000のインタラクティブインタープリターを使用しますが、i [python]から慣れているタブ補完の利便性が欠けています。これはPython 3.xでは使用できません。

2.6および3.xのすべてでタブ補完を有効にするにはどうすればよいですか?

14
Stefano Palazzo

最初に、.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 ファイルに書き込むと、新しいシェルが起動したときに自動的に実行されます。

17
Stefano Palazzo