Bog*_*dan 6 python command-line 12.04
我想知道是否有办法改变颜色>>>Python 中换行符开头的字符颜色。
我已经编辑了该~/.bashrc文件以更改终端中文本的颜色,但是 Python 有类似的文件吗?
Python 有两个提示符ps1和ps2,可在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 环境变量。您可以按如下方式执行此操作:
创建文件~/.pythonstartup:
nano ~/.pythonstartup
Run Code Online (Sandbox Code Playgroud)
注意:您实际上可以随意命名该文件并将其放在您想要的位置。只需确保在后续步骤中根据需要使用您的自定义文件和路径即可。
将自定义提示的命令添加到文件中。在这里,我将添加上面使用的红色提示符的命令:
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)
Ctrl按+O然后按Ctrl+保存并关闭文件X。
假设您使用的是 Bash shell,请将以下内容附加到您的~/.bashrc文件中:
export PYTHONSTARTUP=$HOME/.pythonstartup
Run Code Online (Sandbox Code Playgroud)
此命令将~/.pythonstartup文件分配给PYTHONSTARTUP变量并将其导出到 shell。
现在,如果您使用 Python 控制台打开一个新终端,您应该会看到一个漂亮的红色提示!
参考: