E.g:

print "hello"

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


当前回答

用这个:

print '\033[1m' + 'Hello'

和变回正常:

print '\033[0m'

本页是打印颜色和字体粗细的很好的参考。转到“设置图形模式”部分:

注意,这并不适用于所有操作系统,但您不需要任何模块。

其他回答

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")

假设你指的是真正的打印终端上的“打印”:

>>> text = 'foo bar\r\noof\trab\r\n'
>>> ''.join(s if i & 1 else (s + '\b' * len(s)) * 2 + s
...         for i, s in enumerate(re.split(r'(\s+)', text)))
'foo\x08\x08\x08foo\x08\x08\x08foo bar\x08\x08\x08bar\x08\x08\x08bar\r\noof\x08\
x08\x08oof\x08\x08\x08oof\trab\x08\x08\x08rab\x08\x08\x08rab\r\n'

把它发送到你的stdout。

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)

简单的粗体-两行代码

在Python 3中,你可以使用Colorama - simple_colors: (在简单颜色页面*,转到标题“用法”。)在你做下面的事情之前。确保你安装了simple_colors。

from simple_colors import *

print(green('hello', 'bold'))

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

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

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