【问题标题】:Can I change background/text colour during a program in python?我可以在 python 程序中更改背景/文本颜色吗?
【发布时间】:2016-07-19 22:14:27
【问题描述】:

我希望在程序运行期间更改背景外壳的颜色或文本。我知道我可以更改选项中的主题以永久执行此操作,但这不是我想要的。是否可以这样做?

【问题讨论】:

    标签: python text colors background


    【解决方案1】:

    即使不是那么直截了当,也有可能。幸运的是,有一个名为colorama 的不错的库可以帮助您解决这个问题。 在这里查看http://pypi.python.org/pypi/colorama

    不使用额外的库,你必须使用 ANSI 转义字符,http://ozzmaker.com/add-colour-to-text-in-python/

    【讨论】:

    • 我尝试了所有这些方法,但我无法让它们工作。尝试 colorama 时,它说没有名为 colorama 的模块,而当使用 ANSI 字符时,它只是将字符打印为字符串
    • 你必须先'pip install colorama'!
    • 如果你使用python2你需要导入print_function,from __future__ import print_funtion或者去掉print括号。
    【解决方案2】:

    我建议使用 colorama 库:

    https://pypi.python.org/pypi/colorama

    例子:

    from colorama import Fore, Back, Style
    
    print(Fore.RED + 'some red text')
    print(Back.GREEN + 'and with a green background')
    print(Style.DIM + 'and in dim text')
    print(Style.RESET_ALL)
    print('back to normal now')
    

    【讨论】:

      【解决方案3】:

      是的。它可能不适用于所有终端,但有转义序列:

      print("\033[34;42mMy text\033[m")
      

      将在绿色背景上以蓝色打印My text

      转义序列是\033[,后跟;——分隔数字,然后是m。要结束颜色,请使用\033[m。数字是1 使文本加粗,3 加上另一个数字使文本成为另一个数字的颜色,4 加上另一个数字使文本背景成为另一个数字的颜色。 34 提到的其他数字如下:

      0 -> Black
      1 -> Red
      2 -> Green
      3 -> Yellow
      4 -> Blue
      5 -> Purple
      6 -> Cyan
      7 -> Light Gray
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-22
        • 2011-02-20
        • 1970-01-01
        • 2018-12-25
        相关资源
        最近更新 更多