如何在交互式 Python 解释器中获得制表符补全?

Ste*_*zzo 14 python command-line programming

我经常使用 Python 3000 的交互式解释器,但它缺少我在 ipython 中习惯使用的制表符补全的便利性,而 Python 3.x 则没有。

如何在 2.6 和 3.x 的所有版本中启用 Tab 补全?

Ste*_*zzo 17

首先,.pythonstartup.py在您的主目录中创建一个名为的新文件。将以下脚本放入其中:

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")
Run Code Online (Sandbox Code Playgroud)

字符串周围的括号确保它适用于 Python 2 和 Python 3。

每次启动交互式解释器时,它都会执行 中定义的脚本$PYTHONSTARTUP(如果有)。要将其设置为执行上述脚本,请键入

export PYTHONSTARTUP="~/.pythonstartup.py"
Run Code Online (Sandbox Code Playgroud)

您应该将此行写入您的.bashrc.bash_profile文件,以便在启动新 shell 时自动执行。

  • 注意:如果您启动终端然后更改目录,这将不起作用。如果你想让这个方法不管你在哪个目录都可以工作,你应该使用像`export PYTHONSTARTUP="/home/user/.pythonstartup.py"`这样的完整路径 (6认同)