E.g:

print "hello"

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


当前回答

class color:
   PURPLE = '\033[95m'
   CYAN = '\033[96m'
   DARKCYAN = '\033[36m'
   BLUE = '\033[94m'
   GREEN = '\033[92m'
   YELLOW = '\033[93m'
   RED = '\033[91m'
   BOLD = '\033[1m'
   UNDERLINE = '\033[4m'
   END = '\033[0m'

print(color.BOLD + 'Hello, World!' + color.END)

其他回答

在直接的计算机编程中,没有“打印粗体文本”这样的事情。让我们后退一点,理解你的文本是一串字节,字节只是一捆比特。对电脑来说,这是你的“你好”文本,二进制的。

0110100001100101011011000110110001101111

每一个1或0都是位。每八位就是一个字节。在Python 2中,每个字节都是这样的字符串。X,一个字母/数字/标点符号项目(称为字符)。例如:

01101000 01100101 01101100 01101100 01101111
h        e        l        l        o

计算机将这些比特转换成字母,但在传统的字符串(称为ASCII字符串)中,没有任何东西表示粗体文本。在Unicode字符串中,它的工作方式有点不同,计算机可以支持国际语言字符,比如中文字符,但同样,没有什么说有些文本是粗体,有些文本不是。它也没有明确的字体、文本大小等。

在打印HTML的情况下,输出的仍然是字符串。但是读取该字符串的计算机程序(web浏览器)在将字符串转换为屏幕上的像素时,会将<b>bold</b>这样的文本解释为“this is bold”。如果所有文本都是所见即所得,那么对HTML本身的需求就会减少——您只需在编辑器中选择文本并加粗,而不是输入HTML。

其他程序使用不同的系统——许多答案解释了在终端上打印粗体文本的完全不同的系统。我很高兴你找到了如何做你想做的事情,但在某些时候,你会想要了解字符串和内存是如何工作的。

安装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)

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

粗体印刷变得很容易。

使用pip安装quo:

from quo import echo
echo(f"Hello, World!", bold=True)

你可以使用termcolor来表示:

 sudo pip install termcolor

打印彩色粗体:

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

有关更多信息,请参阅PyPi上的termcolor。

Simple-colors是另一个具有类似语法的包:

 from simple_colors import *
 print(green('Hello', ['bold'])

在colorama中对应的可能是Style.BRIGHT。

粗体文本在Python中是这样的:

print("This is how the {}bold{} text looks like in Python".format('\033[1m', '\033[0m'))

这就是Python中粗体文本的样子。