E.g:

print "hello"

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


当前回答

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

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

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

其他回答

你可以使用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中粗体文本的样子。

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

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。

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

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

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

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

看看Colorama。它不一定对加粗有帮助……但是你可以在Windows和Linux上进行彩色输出,并控制亮度:

from colorama import *

init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'