¿Cómo imprimo texto en negrita en Python?
Por ejemplo:
print "hello"
¿Qué debo hacer para que el texto "hola" se muestre en negrita?
¿Cómo imprimo texto en negrita en Python?
Por ejemplo:
print "hello"
¿Qué debo hacer para que el texto "hola" se muestre en negrita?
Respuestas:
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)
Utilizar este:
print '\033[1m' + 'Hello'
Y para volver a la normalidad:
print '\033[0m'
Esta página es una buena referencia para imprimir en colores y pesos de fuentes. Vaya a la sección que dice 'Establecer modo gráfico:'
Y tenga en cuenta que esto no funcionará en todos los sistemas operativos, pero no necesita ningún módulo.
Puede usar termcolor para esto:
sudo pip install termcolor
Para imprimir una negrita de color:
from termcolor import colored
print(colored('Hello', 'green', attrs=['bold']))
Para obtener más información, consulte termcolor en PyPi .
simple-colors es otro paquete con una sintaxis similar:
from simple_colors import *
print(green('Hello', ['bold'])
El equivalente en colorama puede ser Style.BRIGHT.
En la programación de computadoras directa, no existe tal cosa como "imprimir texto en negrita". Retrocedamos un poco y comprendamos que su texto es una cadena de bytes y los bytes son solo paquetes de bits. Para la computadora, aquí está su texto "hola", en binario .
0110100001100101011011000110110001101111
Cada uno o cero es un bit. Cada ocho bits es un byte. Cada byte es, en una cadena como esa en Python 2.x, un elemento de letra / número / puntuación (llamado carácter). Así por ejemplo:
01101000 01100101 01101100 01101100 01101111
h e l l o
La computadora traduce esos bits en letras, pero en una cadena tradicional (llamada cadena ASCII), no hay nada que indique texto en negrita. En una cadena Unicode, que funciona de manera un poco diferente, la computadora puede admitir caracteres de idiomas internacionales, como los chinos, pero de nuevo, no hay nada que decir que algunos textos están en negrita y otros no. Tampoco hay fuente explícita, tamaño de texto, etc.
En el caso de imprimir HTML, todavía está produciendo una cadena. Pero el programa de computadora que lee esa cadena (un navegador web) está programado para interpretar texto this is <b>bold</b>como "esto está en negrita " cuando convierte su cadena de letras en píxeles en la pantalla. Si todo el texto fuera WYSIWYG, se mitigaría la necesidad de HTML en sí mismo: simplemente seleccionaría el texto en su editor y lo pondría en negrita en lugar de escribir el HTML.
Otros programas usan sistemas diferentes: muchas respuestas explican un sistema completamente diferente para imprimir texto en negrita en los terminales. Me alegra que hayas descubierto cómo hacer lo que quieres hacer, pero en algún momento, querrás entender cómo funcionan las cadenas y la memoria.
Echa un vistazo a colorama . No necesariamente ayuda con la negrita ... pero puede hacer una salida coloreada tanto en Windows como en Linux, y controlar el brillo:
from colorama import *
init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'
Hay un módulo muy útil para formatear texto (negrita, subrayado, colores ...) en Python. Utiliza curseslib pero es muy sencillo de usar.
Un ejemplo:
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')
Escribí un módulo simple llamado colors.py para hacer esto un poco más 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 En realidad, este es el único sitio que pude encontrar sobre el módulo "terminal". Por favor elabora.
terminalmódulo, pero han redirigido la página. Aquí está el código almacenado en caché por google.
print '\033[1m Your Name \033[0m'
\ 033 [1m es el Unicode para negrita en el terminal \ 033 [0m es el Unicode para finalizar el texto editado y volver al formato de texto predeterminado !!!!!
si no usa \ 033 [0m, entonces todo el próximo texto del terminal se pondrá en negrita !!!!!!!!!
Instalar el termcolormódulo
sudo pip install termcolor
y luego intente esto para texto coloreado
from termcolor import colored
print colored('Hello', 'green')
o esto para texto en negrita:
from termcolor import colored
print colored('Hello', attrs=['bold'])
En Python 3, puede usar alternativamente cprintcomo un reemplazo directo para el incorporado print, con el segundo parámetro opcional para colores o el attrsparámetro para negrita (y otros atributos como underline) además de los printargumentos normales nombrados como fileo end.
import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)
Revelación completa, esta respuesta se basa en gran medida en la respuesta de Olu Smith y fue pensada como una edición , lo que habría reducido considerablemente el ruido en esta página, pero debido al concepto equivocado de algunos revisores de lo que se supone que es una edición, ahora me veo obligado para hacer de esto una respuesta separada.
Algunos terminales permiten imprimir texto en color. Algunos colores se ven como si fueran "negrita". Tratar:
print ('\033[1;37mciao!')
La secuencia '\ 033 [1; 37m' hace que algunos terminales comiencen a imprimir en "blanco brillante" que puede parecerse un poco al blanco en negrita. '\ 033 [0; 0m' lo apagará.
Suponiendo que realmente quiere decir "imprimir" en un terminal de impresión 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'
Solo envía eso a tu stdout.
En python 3 podría usar colorama - simple_colors: (página Simple Colors: https://pypi.org/project/simple-colors/ - vaya al encabezado 'Uso'). Antes de hacer lo que se encuentra a continuación, asegúrese de hacerlo pip install simple_colours.
from simple_colors import *
print(green('hello', 'bold'))
pip install simple_colors