Python配置交互式shell

时间:2016-05-25 09:27:03

标签: python linux shell

我正在尝试找出如何在linux上配置“python交互式shell”(即在终端中键入python时执行的程序)。我期待配置诸如着色ps [12],制表符完成(?)等等的东西。

我知道ipython / jupyter,bpython等,但我不想要花哨的(不必要的?)东西,只有一些彩色终端:)

是否可以有一种配置文件?

1 个答案:

答案 0 :(得分:1)

您可以设置environment variable PYTHONSTARTUP

  

如果这是可读文件的名称,则在以交互模式显示第一个提示之前,将执行该文件中的Python命令。该文件在执行交互式命令的同一命名空间中执行,以便在交互式会话中无需限定地使用在其中定义或导入的对象。您还可以更改此文件中的提示sys.ps1sys.ps2以及摘要sys.__interactivehook__

要设置环境变量,请转到终端并键入:

$ export PYTHONSTARTUP=/path/to/my/python/file.py

$是提示,而不是您应该键入的内容。)

由于这不会持续超出当前会话,您可能希望将其放在.bashrc文件中。

在你的/path/to/my/file.py中,你可以做任何你想要的Python东西。例如,您可能希望主要和辅助提示为绿色:

import sys

color = "\x1b[32m{}\x1b[m"
sys.ps1 = color.format(sys.ps1)
sys.ps2 = color.format(sys.ps2)

# We don't want variables to be around in our interactive sessions.
del color
del sys

你可以在那里做任何你想做的事。在我的作品中,我设置了一个写入atexit的历史文件。这样, Up 可以超出当前会话。我还添加了制表符。