¿Cómo puedo imprimir el texto en negrita en Python?

Por ejemplo:

print "hello"

¿Qué debo hacer para que el texto «hola» se muestra en negrita?

  • duplicado de color de texto en la terminal de aplicaciones en unix . Un montón de enlaces en las respuestas. La respuesta está en C, pero fácilmente traducido a Python.
  • Qué terminal están utilizando? Estás en Unix o Windows?
  • estoy usando safari. Se acaba de enterar de que puedo usar etiquetas HTML en python.
InformationsquelleAutor Jia-Luo | 2012-01-19

10 Comentarios

  1. 265
    class color:
       PURPLE = '3[95m'
       CYAN = '3[96m'
       DARKCYAN = '3[36m'
       BLUE = '3[94m'
       GREEN = '3[92m'
       YELLOW = '3[93m'
       RED = '3[91m'
       BOLD = '3[1m'
       UNDERLINE = '3[4m'
       END = '3[0m'
    
    print color.BOLD + 'Hello World !' + color.END
    • Me gusta la forma en que no sólo lo hizo en negrita, pero creado con toda la clase para que ellos de referencia y ayudar a todos los usuarios que vean. Gracias.
    • Voy a usar esto como dict, no una clase. Gracias!
    • No trabajó para mí. Por qué?
    • Es la impresión de los siguientes : [1mHello World ![0m
    • ¿qué acerca de python3? este costuras de no trabajar en p3.
    • a mí me funciona en python 3.

  2. 44

    Usar este:

    print '3[1m' + 'Hello'

    Y para cambiar de vuelta a la normalidad:

    print '3[0m'

    Esta página es una buena referencia para la impresión en colores y fuente de pesos. Vaya a la sección que dice » Establecer el modo de gráficos:’

    Y esto no funciona en todos los sistemas operativos, pero usted no necesita cualquier módulos.

  3. 21

    En directo la programación de la computadora, no hay tal cosa como la «impresión de texto en negrita». Vamos a retroceder un poco y entender que su texto es una cadena de bytes y bytes son sólo los paquetes de bits. Para el equipo, aquí está tu «hola» de un texto, en binario.

    0110100001100101011011000110110001101111

    Cada uno o el cero es un poco. Cada ocho bits es un byte. Cada byte es, en una cadena como la que en Python 2.x, una letra, número o signo de puntuación artículo (que se llama un personaje). Así, por ejemplo:

    01101000 01100101 01101100 01101100 01101111
    h        e        l        l        o

    La computadora traduce los bits en letras, pero en un tradicional cadena (lo que se llama una cadena ASCII), no hay nada para indicar que el texto en negrita. En una cadena Unicode, que funciona un poco diferente, el equipo puede admitir internacional caracteres de idiomas, como el Chino, pero de nuevo, no hay nada que decir que algunas de texto está en negrita y el texto no lo es. También hay ninguna explícita de la fuente, tamaño de texto, etc.

    En el caso de la impresión de HTML, usted todavía está generando una cadena. Pero el equipo del programa de lectura que una cadena (un navegador web) está programado para interpretar el texto como this is <b>bold</b> como «esto es negrita» cuando convierte una cadena de caracteres de las letras en los píxeles en la pantalla. Si todo el texto WYSIWYG, la necesidad de HTML en sí sería mitigado — solo tienes que seleccionar el texto en el editor y en negrita en lugar de escribir el código HTML.

    Otros programas utilizan diferentes sistemas — un montón de respuestas explicó un sistema completamente diferente para la impresión de texto en negrita en los terminales. Me alegro de que haya encontrado la manera de hacer lo que quieres hacer, pero en algún momento, usted querrá entender cómo las cadenas y la memoria de trabajo.

    • Como insatisfactorio como esta respuesta que puede parecer, es probablemente la que más bien responde a la pregunta como frecuentes. No es un Python cuestión en absoluto, sino más bien un lo que sea-es-haciendo-el-representación de la pregunta.
    • Buena lectura! Me gusta esta explicación
    • La cosa es que todo el mundo interesado en la respuesta a esta pregunta se entiende binarias y cómo se utiliza para representar las cadenas. Estamos interesados en cómo usar python para hacer que el texto se vea en negrita, que es respondida anteriormente. Esta respuesta es la forma más pedante.
  4. 19
     sudo pip install termcolor

    y, a continuación, intente esta

     from termcolor import colored
     print colored('Hello', 'green')

    y que es para mí

    • ¿Por qué el downvote.? Al menos tener las agallas para explicar por qué!
  5. 10

    Esto depende de si usted está utilizando linux/unix:

    >>> start = "3[1m"
    >>> end = "3[0;0m"
    >>> print "The" + start + "text" + end + " is bold."
    The text is bold.

    La palabra text debe ser audaz.

  6. 10

    Retirar colorama. No necesariamente ayuda con la negrita… pero se puede hacer coloreada de salida 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'
  7. 10

    Hay una muy útil módulo para dar formato al texto (negrita, subrayado, colores..) en Python. Utiliza curses lib 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')

    ACTUALIZADO:

    Escribí un simple módulo denominado colors.py para hacer esto un poco más, 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")
    • ImportError: No module named terminal ImportError: No module named render En realidad este es el único sitio que he podido encontrar acerca de «terminal» del módulo. Por favor elaborados.
    • El enlace de arriba para contener la terminal módulo, pero tienen redirigir la página. Aquí está el código almacena en la caché de google.
    • De todos modos, he hecho mi propio módulo de python para resolver esto, échale un vistazo @minerales 😉
    • gracias por la info
  8. 4
    print '3[1m  Your Name  3[0m'

    \033[1m es el unicode para la negrita en la terminal
    \033[0m es el unicode para el final el texto editado y la espalda de texto predeterminado formiato!!!!!

    si no uso \033[0m de todos los próximos texto de la terminal se convertirá en negrita!!!!!!!!!

    • por favor, añadir un poco de explicación
    • Por favor, lea otra respuesta antes de contestar! Esta pregunta tiene muchas respuestas correctas con más explicaciones. Usted no va a añadir nada útil.
  9. 1

    Suponiendo que realmente significa «imprimir» en un real terminal de impresión:

    >>> 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'

    Acaba de enviar a su stdout.

  10. 0

    Algunos terminales permiten la impresión de color de texto. Algunos colores se ven como si son «negrita». Probar:

    print ('3[1;37mciao!')

    La secuencia ‘\033[1;37m’ hace algunos terminales para iniciar la impresión en «blanco brillante» que puede parecer un poco como negrita blanco. ‘\033[0;0m’ voy a apagar.

Dejar respuesta

Please enter your comment!
Please enter your name here