Quel terminal utilisez-vous? Êtes-vous sous Unix ou Windows?
Sjoerd
j'utilise safari. Je viens de découvrir que je peux utiliser des balises HTML en python.
Jia-Luo
Réponses:
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)
J'aime la façon dont vous n'avez pas simplement fait gras, mais créé une classe entière pour qu'ils puissent s'y référer et pour aider tous les utilisateurs à visualiser. Je vous remercie.
GreenHawk1220
3
Je vais utiliser ça comme dict, pas comme classe. Merci!
dvlden
6
Il imprime ce qui suit:[1mHello World ![0m
Travailler sur ma configuration: ubuntu 19.10, python 3.7
Elouan Keryell-Even
Puis-je aussi combiner gras et couleur? @Boubakr
alper
62
Utilisez ceci:
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. Accédez à la section intitulée "Définir le mode graphique:"
Et notez que cela ne fonctionnera pas sur tous les systèmes d'exploitation, mais vous n'avez besoin d'aucun module.
Si je devais deviner que quelqu'un a voté contre cela parce qu'il ne répondait pas à la question réelle comment imprimer quelque chose en gras.
Christian
Votre droite, il y a eu une mise à jour. Désolé pour ces gars.
Olu Smith
22
Dans la programmation informatique directe, il n'y a pas de "impression de texte en gras". Reculons un peu et comprenons que votre texte est une chaîne d'octets et que les octets ne sont que des paquets de bits. À l'ordinateur, voici votre texte "bonjour", en binaire .
0110100001100101011011000110110001101111
Chaque un ou zéro est un peu. Tous les huit bits sont un octet. Chaque octet est, dans une chaîne comme celle de Python 2.x, un élément lettre / chiffre / ponctuation (appelé un caractère). Donc par exemple:
0110100001100101011011000110110001101111
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 du texte en gras. Dans une chaîne Unicode, qui fonctionne un peu différemment, l'ordinateur peut prendre en charge les caractères de langue internationale, comme les caractères chinois, mais encore une fois, rien ne permet de dire que certains textes sont en gras et d'autres non. Il n'y a pas non plus de police explicite, de taille de texte, etc.
Dans le cas de l'impression HTML, vous sortez toujours une chaîne. Mais le programme informatique lisant cette chaîne (un navigateur Web) est programmé pour interpréter le texte comme this is <b>bold</b>«ceci est en gras » lorsqu'il convertit votre chaîne de lettres en pixels à l'écran. Si tout le texte était WYSIWYG, le besoin de HTML lui-même serait atténué - il vous suffirait de sélectionner le 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 - de nombreuses réponses expliquent un système complètement différent d'impression de texte en gras sur les terminaux. Je suis heureux que vous ayez découvert comment faire ce que vous voulez faire, mais à un moment donné, vous voudrez comprendre comment fonctionnent les chaînes et la mémoire.
Aussi insatisfaisante que puisse paraître cette réponse, c'est probablement celle qui répond le mieux à la question posée . Ce n'est pas du tout une question Python, mais plutôt une question sur ce qui fait le rendu .
John Y
8
Le fait est que tout le monde intéressé par la réponse à cette question comprend le binaire et comment il est utilisé pour représenter des chaînes. Nous sommes intéressés par la façon d'utiliser python pour rendre le texte en gras, réponse ci-dessus. Cette réponse est bien trop pédante.
Trevor
16
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.
Découvrez colorama . Cela n'aide pas nécessairement avec le gras ... mais vous pouvez faire une sortie colorisée sur Windows et Linux, et contrôler la luminosité:
from colorama import*
init(autoreset=True)printFore.RED +'some red text'printStyle.BRIGHT +Fore.RED +'some bright red text'
Il existe un module très utile pour la mise en forme du texte (gras, souligné, couleurs ..) en Python. Il utilise curseslib mais c'est très simple à utiliser.
Un exemple:
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')
ACTUALISÉ:
J'ai écrit un module simple nommé colors.py pour rendre cela un peu plus pythonique:
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 terminalImportError: No module named render En fait, c'est le seul site que j'ai pu trouver sur le module "terminal". Veuillez préciser.
minéraux
Le lien ci-dessus contenait le terminalmodule, mais ils ont redirigé la page. Voici le code mis en cache par google.
Diego Navarro
Quoi qu'il en soit, j'ai créé mon propre module python pour résoudre ce problème, vérifiez-le @minerals ;-)
Diego Navarro
8
print'\033[1m Your Name \033[0m'
\ 033 [1m est l'unicode pour le gras dans le terminal \ 033 [0m est l'unicode pour terminer le texte édité et retourner le format de texte par défaut !!!!!
si vous n'utilisez pas \ 033 [0m, tout le texte à venir du terminal deviendra gras !!!!!!!!!
Veuillez lire les autres réponses avant de répondre! Cette question a beaucoup de bonnes réponses avec plus d'explications. Vous n'ajoutez rien d'utile.
Mohammad Dehghan
6
Installez le termcolormodule
sudo pip install termcolor
puis essayez ceci pour le texte coloré
from termcolor import colored
print colored('Hello','green')
ou ceci pour le texte en gras:
from termcolor import colored
print colored('Hello', attrs=['bold'])
Dans Python 3, vous pouvez également utiliser cprinten remplacement de l'élément intégré print, avec le deuxième paramètre facultatif pour les couleurs ou le attrsparamètre pour le gras (et d'autres attributs tels que underline) en plus des printarguments nommés normaux tels que fileou end.
import sys
from termcolor import cprint
cprint('Hello','green', attrs=['bold'], file=sys.stderr)
Divulgation complète, cette réponse est fortement basée sur la réponse d'Olu Smith
et était destinée à être une modification , ce qui aurait considérablement réduit le bruit sur cette page, mais en raison du concept erroné de certains critiques de ce qu'une modification est censée être, je suis maintenant obligé pour en faire une réponse distincte.
Certains terminaux permettent d'imprimer du texte en couleur. Certaines couleurs semblent "audacieuses". Essayer:
print('\033[1;37mciao!')
La séquence '\ 033 [1; 37m' permet à certains terminaux de commencer à imprimer en "blanc brillant" qui peut ressembler un peu à du blanc en gras. '\ 033 [0; 0m' le désactivera.
En supposant que vous vouliez vraiment dire "imprimer" sur un vrai terminal d'impression:
>>> text ='foo bar\r\noof\trab\r\n'>>>''.join(s if i &1else(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'
En python 3, vous pouvez utiliser colorama - simple_colors: (page Couleurs simples: https://pypi.org/project/simple-colors/ - allez dans la rubrique 'Utilisation'.) Avant de faire ce qui est ci-dessous, assurez-vous de vous pip install simple_colours.
from simple_colors import*print(green('hello','bold'))
Réponses:
la source
[1mHello World ![0m
Utilisez ceci:
Et pour revenir à la normale:
Cette page est une bonne référence pour l'impression en couleurs et en poids de police. Accédez à la section intitulée "Définir le mode graphique:"
Et notez que cela ne fonctionnera pas sur tous les systèmes d'exploitation, mais vous n'avez besoin d'aucun module.
la source
Vous pouvez utiliser termcolor pour cela:
Pour imprimer un gras coloré:
Pour plus d'informations, consultez termcolor sur PyPi .
simple-colors est un autre package avec une syntaxe similaire:
L'équivalent en colorama peut être
Style.BRIGHT
.la source
Dans la programmation informatique directe, il n'y a pas de "impression de texte en gras". Reculons un peu et comprenons que votre texte est une chaîne d'octets et que les octets ne sont que des paquets de bits. À l'ordinateur, voici votre texte "bonjour", en binaire .
Chaque un ou zéro est un peu. Tous les huit bits sont un octet. Chaque octet est, dans une chaîne comme celle de Python 2.x, un élément lettre / chiffre / ponctuation (appelé un caractère). Donc par exemple:
L'ordinateur traduit ces bits en lettres, mais dans une chaîne traditionnelle (appelée chaîne ASCII), rien n'indique du texte en gras. Dans une chaîne Unicode, qui fonctionne un peu différemment, l'ordinateur peut prendre en charge les caractères de langue internationale, comme les caractères chinois, mais encore une fois, rien ne permet de dire que certains textes sont en gras et d'autres non. Il n'y a pas non plus de police explicite, de taille de texte, etc.
Dans le cas de l'impression HTML, vous sortez toujours une chaîne. Mais le programme informatique lisant cette chaîne (un navigateur Web) est programmé pour interpréter le texte comme
this is <b>bold</b>
«ceci est en gras » lorsqu'il convertit votre chaîne de lettres en pixels à l'écran. Si tout le texte était WYSIWYG, le besoin de HTML lui-même serait atténué - il vous suffirait de sélectionner le 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 - de nombreuses réponses expliquent un système complètement différent d'impression de texte en gras sur les terminaux. Je suis heureux que vous ayez découvert comment faire ce que vous voulez faire, mais à un moment donné, vous voudrez comprendre comment fonctionnent les chaînes et la mémoire.
la source
Cela dépend si vous utilisez linux / unix:
Le mot
text
doit être en gras.la source
Découvrez colorama . Cela n'aide pas nécessairement avec le gras ... mais vous pouvez faire une sortie colorisée sur Windows et Linux, et contrôler la luminosité:
la source
Il existe un module très utile pour la mise en forme du texte (gras, souligné, couleurs ..) en Python. Il utilise
curses
lib mais c'est très simple à utiliser.Un exemple:
ACTUALISÉ:
J'ai écrit un module simple nommé colors.py pour rendre cela un peu plus pythonique:
la source
ImportError: No module named terminal
ImportError: No module named render
En fait, c'est le seul site que j'ai pu trouver sur le module "terminal". Veuillez préciser.terminal
module, mais ils ont redirigé la page. Voici le code mis en cache par google.\ 033 [1m est l'unicode pour le gras dans le terminal \ 033 [0m est l'unicode pour terminer le texte édité et retourner le format de texte par défaut !!!!!
si vous n'utilisez pas \ 033 [0m, tout le texte à venir du terminal deviendra gras !!!!!!!!!
la source
Installez le
termcolor
modulepuis essayez ceci pour le texte coloré
ou ceci pour le texte en gras:
Dans Python 3, vous pouvez également utiliser
cprint
en remplacement de l'élément intégréprint
, avec le deuxième paramètre facultatif pour les couleurs ou leattrs
paramètre pour le gras (et d'autres attributs tels queunderline
) en plus desprint
arguments nommés normaux tels quefile
ouend
.la source
Certains terminaux permettent d'imprimer du texte en couleur. Certaines couleurs semblent "audacieuses". Essayer:
La séquence '\ 033 [1; 37m' permet à certains terminaux de commencer à imprimer en "blanc brillant" qui peut ressembler un peu à du blanc en gras. '\ 033 [0; 0m' le désactivera.
la source
En supposant que vous vouliez vraiment dire "imprimer" sur un vrai terminal d'impression:
Envoyez-le simplement à votre
stdout
.la source
Audace simple - Code sur deux lignes
En python 3, vous pouvez utiliser colorama - simple_colors: (page Couleurs simples: https://pypi.org/project/simple-colors/ - allez dans la rubrique 'Utilisation'.) Avant de faire ce qui est ci-dessous, assurez-vous de vous
pip install simple_colours
.la source
pip install simple_colors