E.g:

print "hello"

我该怎么做才能将“hello”文本加粗?


当前回答

安装termcolor模块

sudo pip install termcolor

然后对彩色文本试试这个

from termcolor import colored
print colored('Hello', 'green')

对于粗体文本:

from termcolor import colored
print colored('Hello', attrs=['bold'])

在Python 3中,除了常规的命名打印参数(如file或end)外,您还可以使用cprint作为内置打印的下拉替换,使用可选的第二个参数表示颜色或attrs参数表示粗体(以及其他属性,如下划线)。

import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)

完全披露,这个答案很大程度上是基于奥卢·史密斯的答案 本来是想编辑一下,这样可以减少本页的噪音 相当多,但因为一些评论家的错误概念 编辑应该是什么样子,我现在不得不把这作为一个单独的答案。

其他回答

Python中有一个非常有用的模块用于格式化文本(粗体、下划线、颜色等)。它使用curses库,但是使用起来非常简单。

一个例子:

from terminal import render
print render('%(BG_YELLOW)s%(RED)s%(BOLD)sHey this is a test%(NORMAL)s')
print render('%(BG_GREEN)s%(RED)s%(UNDERLINE)sAnother test%(NORMAL)s')

我写了一个名为colors.py的简单模块,让它更python化一些:

import colors

with colors.pretty_output(colors.BOLD, colors.FG_RED) as out:
    out.write("This is a bold red text")

with colors.pretty_output(colors.BG_GREEN) as out:
    out.write("This output have a green background but you " +
               colors.BOLD + colors.FG_RED + "can" + colors.END + " mix styles")

有些终端允许打印彩色文本。有些颜色看起来就像“粗体”。试一试:

print ('\033[1;37mciao!')

序列'\033[1;37m'使一些终端以“亮白色”开始打印,可能看起来有点像粗体白色。'\033[0;0m'将关闭它。

def say(text: str):  
  print ("\033[1;37m" + text)

say("Hello, world!")

我的代码工作正常。

这取决于你使用的是Linux还是Unix:

>>> start = "\033[1m"
>>> end = "\033[0;0m"
>>> print "The" + start + "text" + end + " is bold."
The text is bold.

“text”这个词应该加粗。

print '\033[1m  Your Name  \033[0m'

\033[1m是终端中粗体的转义码。 \033[0m是结束编辑文本并返回默认文本格式的转义代码。

如果你不使用\033[0m],那么所有即将出现的终端文本都将变成粗体。