Como imprimo texto em negrito em Python?
Por exemplo:
print "hello"
O que devo fazer para que o texto "olá" seja exibido em negrito?
Como imprimo texto em negrito em Python?
Por exemplo:
print "hello"
O que devo fazer para que o texto "olá" seja exibido em negrito?
Respostas:
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)
Usa isto:
print '\033[1m' + 'Hello'
E para voltar ao normal:
print '\033[0m'
Esta página é uma boa referência para impressão em cores e pesos de fonte. Vá para a seção que diz 'Definir modo gráfico:'
E observe que isso não funcionará em todos os sistemas operacionais, mas você não precisa de nenhum módulo.
Você pode usar termcolor para isso:
sudo pip install termcolor
Para imprimir um negrito colorido:
from termcolor import colored
print(colored('Hello', 'green', attrs=['bold']))
Para mais informações, consulte termcolor no PyPi .
simple-colors é outro pacote com sintaxe semelhante:
from simple_colors import *
print(green('Hello', ['bold'])
O equivalente em colorama pode ser Style.BRIGHT
.
Na programação direta de computadores, não existe "impressão em negrito". Vamos voltar um pouco e entender que o seu texto é uma sequência de bytes e bytes são apenas pacotes de bits. Para o computador, aqui está o seu texto "olá", em binário .
0110100001100101011011000110110001101111
Cada um ou zero é um pouco. A cada oito bits é um byte. Cada byte é, em uma string como a do Python 2.x, um item de letra / número / pontuação (chamado de caractere). Então, por exemplo:
01101000 01100101 01101100 01101100 01101111
h e l l o
O computador converte esses bits em letras, mas em uma sequência tradicional (chamada de sequência ASCII), não há nada para indicar texto em negrito. Em uma string Unicode, que funciona de maneira um pouco diferente, o computador pode suportar caracteres de idiomas internacionais, como chineses, mas, novamente, não há nada a dizer que algum texto está em negrito e outro não. Também não há fonte explícita, tamanho do texto etc.
No caso de imprimir HTML, você ainda está produzindo uma string. Mas o programa de computador que lê essa sequência (um navegador da Web) é programado para interpretar o texto como this is <b>bold</b>
"isto está em negrito " quando converte sua sequência de letras em pixels na tela. Se todo o texto fosse WYSIWYG, a necessidade de HTML em si seria atenuada - você apenas selecionaria o texto em seu editor e o colocaria em negrito em vez de digitar o HTML.
Outros programas usam sistemas diferentes - muitas respostas explicam um sistema completamente diferente para imprimir texto em negrito nos terminais. Fico feliz que você tenha descoberto como fazer o que quer fazer, mas em algum momento você precisará entender como as strings e a memória funcionam.
Confira o colorama . Isso não ajuda necessariamente em negrito ... mas você pode fazer impressões coloridas no Windows e Linux e controlar o brilho:
from colorama import *
init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'
Existe um módulo muito útil para formatar texto (negrito, sublinhado, cores ..) no Python. Ele usa curses
lib, mas é muito simples de usar.
Um exemplo:
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')
Eu escrevi um módulo simples chamado colors.py para tornar isso um pouco mais pitônico:
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")
ImportError: No module named terminal
ImportError: No module named render
Na verdade, este é o único site que eu pude encontrar sobre o módulo "terminal". Por favor elabore.
terminal
módulo, mas eles redirecionavam a página. Aqui está o código armazenado em cache pelo google.
print '\033[1m Your Name \033[0m'
\ 033 [1m é o unicode para negrito no terminal \ 033 [0m é o unicode para finalizar o texto editado e retornar o formato de texto padrão !!!!!
se você não usar \ 033 [0m, todo o texto do terminal ficará em negrito !!!!!!!!!
Instale o termcolor
módulo
sudo pip install termcolor
e tente isso para texto colorido
from termcolor import colored
print colored('Hello', 'green')
ou isso para texto em negrito:
from termcolor import colored
print colored('Hello', attrs=['bold'])
Como alternativa, no Python 3 você pode usar cprint
como um substituto para o built-in print
, com o segundo parâmetro opcional para cores ou attrs
para negrito (e outros atributos como underline
), além dos print
argumentos nomeados normais , como file
ou end
.
import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)
Divulgação completa, esta resposta baseia-se fortemente na resposta de Olu Smith e foi planejada como uma edição , o que reduziria consideravelmente o ruído nesta página, mas devido ao conceito equivocado de alguns revisores sobre o que uma edição deveria ser, agora sou forçado para fazer disso uma resposta separada.
Alguns terminais permitem imprimir texto colorido. Algumas cores se parecem com "negrito". Experimentar:
print ('\033[1;37mciao!')
A sequência '\ 033 [1; 37m' faz com que alguns terminais comecem a imprimir em "branco brilhante", que pode parecer um pouco em branco em negrito. '\ 033 [0; 0m' o desativará.
Supondo que você realmente queira dizer "imprimir" em um terminal de impressão real :
>>> 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'
Apenas envie isso para o seu stdout
.
No python 3, você pode usar colorama - simple_colors: (página Simple Colors: https://pypi.org/project/simple-colors/ - vá para o título 'Uso'.) Antes de fazer o que está abaixo, verifique se você pip install simple_colours
.
from simple_colors import *
print(green('hello', 'bold'))
pip install simple_colors