当前位置: 首页 > 面试题库 >

将颜色添加到新样式的ipython(v5)提示中

王成化
2023-03-14
问题内容

立即更新到新发行的ipython5。启动交互式提示并收到:

/usr/local/lib/python3.5/site-packages/IPython/core/interactiveshell.py:440: UserWarning: As of IPython 5.0 `PromptManager` config will have no effect and has been replaced by TerminalInteractiveShell.prompts_class
warn('As of IPython 5.0 `PromptManager` config will have no effect'

取消了我的旧配置设置以自定义和着色提示,然后寻找自定义提示的新方法,发现它非常酷。使用示例代码中的新类样式:

class MyPrompt(Prompts):
    def in_prompt_tokens(self, cli=None):
        return [(Token, os.getcwd()),
                (Token.Prompt, ' >>>')]

将其放入启动脚本中,效果很好,但默认情况下它不会使Token行着色,Token.Prompt变为浅绿色。

尝试使用旧的config方法颜色(r’{color.Green}’),但这在这里不起作用。任何指向正确方向的指针都很好。

谢谢!


问题答案:
from IPython.terminal.prompts import Prompts, Token
import os

class MyPrompt(Prompts):

    def in_prompt_tokens(self, cli=None):   # default
        return [
            (Token.Prompt, 'In ['),
            (Token.PromptNum, str(self.shell.execution_count)),
            (Token.Prompt, ']: '),
        ]

    def in_prompt_tokens(self, cli=None):  # sample
        return [(Token, os.getcwd()),
                 (Token.Prompt, ' >>>')]

    def in_prompt_tokens(self, cli=None):   # custom
        path = os.path.basename(os.getcwd())
        return [
            (Token.Prompt, '<'),
            (Token.PromptNum, '~/'+path),
            (Token.Prompt, '>'),
            (Token.Prompt, '['),
            (Token.PromptNum, str(self.shell.execution_count)),
            (Token.Prompt, ']: '),
        ]

    def in_prompt_tokens(self, cli=None):   # custom
        path = os.path.basename(os.getcwd())
        return [
            (Token.PromptNum, str(self.shell.execution_count)),
            (Token.Prompt, ':'),
            (Token.PromptNum, '~/'+path),
            (Token.Prompt, '$ '),
        ]

"""
use:
import myprompt as MP
ip=get_ipython()
ip.prompts=MP.MyPrompt(ip)
"""

我使用此脚本尝试了各种提示。它包括默认 in_prompt_tokens方法,示例自定义示例和几个替代方法。最后模仿我的bash提示

73:~/mypy$

在外观中,元(Token..., str)组根据设置字符串的颜色token_type
TokenToken.PromptToken.PromptNum可能的类型。寻找Token.<tab>更多(例如OutPrompt(Num))。

IPython/terminal/prompts.py

我可能不会使用其中任何一个,因为我喜欢默认的匹配In /Out对。此外,我可以使用--term-title在标签标题中显示目录。



 类似资料:
  • 我有以下代码用于在 matplotlib 中制作表格图。 plt 是一个拼贴图对象 我想为我使用的颜色图添加一个颜色条。 我试着做<代码>图。colorbar()但这给了我一个画布错误。

  • 问题内容: 我有这样的div标签: 如何在div 上显示工具提示,最好具有淡入/淡出效果。 问题答案: 对于基本工具提示,您需要: 对于更高级的javascript版本,您可以查看以下内容: https://jqueryhouse.com/best-jquery-tooltip- plugins/ 上面的链接为您提供了25个工具提示选项。

  • 我在PrimeFaces3.5中使用JSF。我使用而不使用属性,而是显式地使用和创建行和列,如展示案例(http://www.primefaces.org/showcase/ui/panelgrid.jsf)所示。 现在我需要在一些CSS类的帮助下对一行进行不同的样式设置。但是要么我错过了它,要么就是没有办法向添加类?!我甚至可以设置属性,但在呈现的输出中会忽略它...

  • 我正在使用MaterialComponents大纲TextInputLayout。我需要在提示文本上设置不同的颜色: “Main”提示(当TextInput中没有文本时)-->带有60%alpha的黑色 浮动提示-->与轮廓相同的颜色(即非活动时为colorPrimary,活动时为colorAccent) 我正在使用Android:TextColorHint设置主提示颜色,App:HintText

  • 问题内容: 一个简单的好问题:是否有与Eclipse 类似的http://studiostyl.es/? 更新 :由于我使用此链接来了解如何使用该插件,因此我想将其放在此处。 http://www.eclipsecolorthemes.org/?view=plugin 该网站正是我想要的。 问题答案: 看一下http://www.eclipsecolorthemes.org/,也可以在市场上直接买

  • 我使用Matplolib和熊猫数据帧创建了一个散点图,现在我想给它添加一个图例。这是我的代码: 这里发生的是,根据,散点图中点的颜色将改变。所以,因为颜色是“动态的”,我在创造传奇时遇到了很多麻烦。实际的代码只会创建一个带有一个名为“测试”的标签的图例,而附近没有任何颜色。 以下是数据示例: 我试过了,但我不明白的是: > 如何动态设置图例的标签?例如,我的代码说

  • 关于电子校样颜色 在传统的出版工作流程中,将打印出文档的印刷校样以预览该文档在特定输出设备上还原时的外观。在色彩管理工作流程中,您可以直接在显示器上使用颜色配置文件的精度来对文档进行电子校样。您可以显示屏幕预览来查看文档颜色在特定输出设备上重现时的外观。 请注意,电子校样的可靠性取决于显示器的质量、显示器和输出设备的配置文件以及工作环境的光照条件。 注:使用胶印机打印时,只用电子校样无法让您预览叠