如何更改在终端中运行时Python提示符“>>>”的颜色?

Bog*_*dan 6 python command-line 12.04

我想知道是否有办法改变颜色>>>Python 中换行符开头的字符颜色。

我已经编辑了该~/.bashrc文件以更改终端中文本的颜色,但是 Python 有类似的文件吗?

Bea*_*nog 3

Python 有两个提示符ps1ps2,可在sys模块中找到。正如sys模块文档告诉我们的那样,ps1主要提示符,默认情况下显示通常的>>> ,而ps2辅助... 提示符,默认情况下显示。

您可以通过为其分配字符串来自定义提示字符。例如,您可以通过在 Python 控制台中运行来更改>>> 为:~~~

>>> import sys
>>> sys.ps1 = '~~~ '
Run Code Online (Sandbox Code Playgroud)

分配给提示的字符串还接受ANSI 转义序列,从而允许更改提示的颜色。例如,您可以使用以下命令将主提示的颜色更改为红色:

>>> import sys
>>> sys.ps1 = '\033[0;31m>>> \033[0m'
Run Code Online (Sandbox Code Playgroud)

您可以在Prakasaka 的 GitHub Gist中找到更多颜色代码。请注意,实际显示的颜色取决于您在终端主题中使用的颜色。

按照上述方式更改提示只会影响运行命令的当前 Python 控制台。

要使更改持久存在,您可以创建一个 Python 启动文件,其中包含您想要在提示中进行的更改,并将其分配给PYTHONSTARTUP 环境变量。您可以按如下方式执行此操作:

  1. 创建文件~/.pythonstartup

    nano ~/.pythonstartup
    
    Run Code Online (Sandbox Code Playgroud)

    注意:您实际上可以随意命名该文件并将其放在您想要的位置。只需确保在后续步骤中根据需要使用您的自定义文件和路径即可。

  2. 将自定义提示的命令添加到文件中。在这里,我将添加上面使用的红色提示符的命令:

    import sys
    sys.ps1 = '\033[0;31m>>> \033[0m'
    
    Run Code Online (Sandbox Code Playgroud)

    注意:在某些情况下,此格式可能会导致问题,例如尝试使用箭头键从历史记录中调用命令时。如果发生这种情况,请改用以下格式:

    import sys
    sys.ps1 = '\x01\033[31m\x02>>> \x01\033[0m\x02'
    
    Run Code Online (Sandbox Code Playgroud)
  3. Ctrl按+O然后按Ctrl+保存并关闭文件X

  4. 假设您使用的是 Bash shell,请将以下内容附加到您的~/.bashrc文件中:

    export PYTHONSTARTUP=$HOME/.pythonstartup
    
    Run Code Online (Sandbox Code Playgroud)

    此命令将~/.pythonstartup文件分配给PYTHONSTARTUP变量并将其导出到 shell。

现在,如果您使用 Python 控制台打开一个新终端,您应该会看到一个漂亮的红色提示!

参考: