216 votes

Comment imprimer du texte en gras en Python ?

Par exemple

print "hello"

Que dois-je faire pour que le texte "hello" soit en gras ?

2 votes

Duplicata de texte en couleur dans les applications de terminal sous unix . Beaucoup de liens dans les réponses. Cette réponse est en C, mais facilement traduisible en Python.

6 votes

Quel terminal utilisez-vous ? Êtes-vous sous Unix ou Windows ?

0 votes

J'utilise Safari. Je viens de découvrir que je peux utiliser les balises HTML en python.

512voto

Boubakr NOUR Points 379
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)

44 votes

J'aime la façon dont vous ne vous êtes pas contenté de faire du gras, mais avez créé une classe entière pour qu'ils puissent s'y référer et aider tous les utilisateurs qui visionnent. Merci.

6 votes

Je vais utiliser ça comme une dictée, pas comme un cours. Merci !

12 votes

Il imprime ce qui suit : [1mHello World ![0m

78voto

addison Points 466

Utilisez ça :

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

Et pour revenir à la normale :

print '\033[0m'

Cette page est une bonne référence pour l'impression en couleurs et en poids de police. Allez à la section qui dit "Définir le mode graphique :".

Et notez que cela ne fonctionnera pas sur tous les systèmes d'exploitation mais vous n'avez pas besoin de modules.

1 votes

A tous les utilisateurs de Windows, notez : Ceci ne fonctionne pas sur Windows (Windows 10)

46voto

Olu Doug Points 187

Vous pouvez utiliser le termcolor pour cela :

 sudo pip install termcolor

Pour imprimer un gras coloré :

 from termcolor import colored
 print(colored('Hello', 'green', attrs=['bold']))

Pour plus d'informations, voir termcolor sur PyPi .

simples-couleurs est un autre paquet avec une syntaxe similaire :

 from simple_colors import *
 print(green('Hello', ['bold'])

L'équivalent en colorama peut être Style.BRIGHT .

8 votes

Si je devais deviner, quelqu'un a déclassé cet article parce qu'il ne répondait pas à la question réelle, à savoir comment imprimer quelque chose en gras.

0 votes

Vous avez raison, il y a eu une mise à jour. Désolé pour ça les gars.

29voto

Ken Points 3228

En programmation informatique classique, l'impression de texte en gras n'existe pas. Revenons un peu en arrière et comprenons que votre texte est une chaîne d'octets et que les octets ne sont que des paquets de bits. Pour l'ordinateur, voici votre texte "hello", au format binaire .

0110100001100101011011000110110001101111

Chaque un ou zéro est un bit. Chaque huit bits est un octet. Chaque octet est, dans une chaîne de caractères comme celle de Python 2.x, une lettre/un chiffre/un élément de ponctuation (appelé caractère). Ainsi, par exemple :

01101000 01100101 01101100 01101100 01101111
h        e        l        l        o

L'ordinateur traduit ces bits en lettres, mais dans une chaîne traditionnelle (appelée chaîne ASCII), rien n'indique que le texte est en gras. Dans une chaîne Unicode, qui fonctionne un peu différemment, l'ordinateur peut prendre en charge les caractères des langues internationales, comme le chinois, mais là encore, rien ne permet de dire que certains textes sont en gras et d'autres non. Il n'y a pas non plus de police de caractères explicite, de taille de texte, etc.

Dans le cas de l'impression d'un document HTML, il s'agit toujours d'une chaîne de caractères. Mais le programme informatique qui lit cette chaîne (un navigateur Web) est programmé pour interpréter le texte comme suit this is <b>bold</b> comme "c'est en gras " lorsqu'il convertit votre chaîne de lettres en pixels sur l'écran. Si tout le texte était WYSIWYG, la nécessité du HTML lui-même serait atténuée - il suffirait de sélectionner du texte dans votre éditeur et de le mettre en gras au lieu de taper le HTML.

D'autres programmes utilisent des systèmes différents -- un grand nombre de réponses expliquent un système complètement différent pour l'impression de texte en gras sur les terminaux. Je suis content que vous ayez trouvé comment faire ce que vous voulez faire, mais à un moment donné, vous voudrez comprendre comment fonctionnent les chaînes de caractères et la mémoire.

13 votes

Aussi insatisfaisante que cette réponse puisse paraître, c'est probablement celle qui répond le mieux à la question posée. comme demandé . Il ne s'agit pas du tout d'une question sur Python, mais plutôt d'une ce qui fait le rendu question.

19 votes

Le fait est que tous ceux qui s'intéressent à la réponse à cette question comprennent le binaire et la façon dont il est utilisé pour représenter les chaînes de caractères. Ce qui nous intéresse, c'est de savoir comment utiliser Python pour mettre du texte en gras, ce à quoi nous avons répondu plus haut. Cette réponse est beaucoup trop pédante.

25voto

Ayoubi Points 2390

Cela dépend si vous utilisez linux/unix :

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

Le mot text doit être en gras.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X