Je me demandais si quelqu'un sait comment définir la couleur du texte qui apparaît dans le shell. J'ai remarqué que le 'ls' utilise deux couleurs différentes lors de l'impression des informations à l'écran (sur ma machine Linux), je me demandais si je pouvais en profiter en Python.Python | changer la couleur du texte dans la coquille
Répondre
Utiliser des curseurs ou des séquences d'échappement ANSI. Avant de commencer à générer des séquences d'échappement, vous devez vérifier que stdout est un tty. Vous pouvez le faire avec sys.stdout.isatty()
. Voici une fonction tirée d'un projet de mine qui imprime la sortie en rouge ou vert, en fonction de l'état, en utilisant des séquences d'échappement ANSI:
def hilite(string, status, bold):
attr = []
if status:
# green
attr.append('32')
else:
# red
attr.append('31')
if bold:
attr.append('1')
return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), string)
Tous les principaux codes de couleur sont donnés à https://www.siafoo.net/snippet/88
Le certificat de sécurité de ce site Web a expiré. Quelqu'un peut-il vérifier que c'est un site Web sécurisé? – BlackVegetable
@BlackVegetable, oui, il ressemble à la fois avant. En outre, vous pouvez le voir [HTTP] (http://www.siafoo.net/snippet/88) si vous préférez. Je les contacterai pour les informer du certificat. –
même si vous lui faites confiance, @BlackVegetable, vous obtenez une erreur de proxy –
curses
vous permettra d'utiliser des couleurs correctement pour le type de terminal qui est utilisé.
un coup d'oeil à http://www.pixelbeat.org/talks/python/ls.py
Ceci est si simple à faire sur PC: Windows OS: Envoyer l'os une commande pour modifier le texte: import os
os.system('color a') #green text
print 'I like green'
raw_input('do you?')
je viens de décrire la bibliothèque très populaire clint. Qui a plus de fonctionnalités à part de colorer la sortie sur le terminal. Par ailleurs, il prend en charge les terminaux MAC, Linux et Windows.
Voici l'exemple de l'utiliser:
Installation (Ubuntu)
pip install clint
Pour ajouter la couleur à une chaîne
colored.red('red string')
Exemple: Utilisation pour sortie couleur (style de commande django)
from django.core.management.base import BaseCommand
from clint.textui import colored
class Command(BaseCommand):
args = ''
help = 'Starting my own django long process. Use ' + colored.red('<Ctrl>+c') + ' to break.'
def handle(self, *args, **options):
self.stdout.write('Starting the process (Use ' + colored.red('<Ctrl>+c') + ' to break)..')
# ... Rest of my command code ...
- 1. Changer la couleur du texte dans DataGridVIewComboBoxCell
- 2. Comment changer la couleur du texte RibbonStatusBarPane?
- 3. changer la couleur du texte de uitabbaritem
- 4. Changer la couleur du texte onclick
- 5. PyLab - changer la couleur du texte et la couleur de fond de la zone de texte
- 6. Changer la couleur du texte dans la personnalisation UITableViewCell iphone
- 7. Changer la couleur de police du texte en format PDF
- 8. Comment changer la couleur du texte dans Disqus comment textarea?
- 9. Changer la couleur du curseur de texte (caret) dans Cocoa?
- 10. Changer la couleur du texte écrit dans richtextbox
- 11. Changer la couleur du texte de la liste en android
- 12. Changer la couleur de fond du shell python
- 13. Comment puis-je changer la couleur du texte du menu?
- 14. changer la couleur du bouton
- 15. Changer la couleur du clavier dans l'iphone
- 16. Comment changer la couleur du texte de l'étiquette?
- 17. Changer la couleur du texte à l'aide css
- 18. iphone ipad changer la couleur du champ de texte
- 19. Comment changer la couleur du texte en javascript?
- 20. Android - Changer la couleur du texte GridView et le style
- 21. Changer la couleur d'une partie du texte en utilisant javascript?
- 22. Android changer la couleur du texte de tabview pas backgroundcolor
- 23. Comment changer la couleur du texte d'un QxtLabel
- 24. Comment puis-je changer la couleur du texte avec jQuery?
- 25. En C#, comment changer la couleur du texte nouvellement ajouté dans la zone de texte
- 26. comment changer la couleur du texte nouvellement ajouté dans la zone de texte enrichi
- 27. Modifier la couleur du texte dans WebView
- 28. Changer la couleur du groupe de MKPinAnnotationView
- 29. Changer la couleur du caret dans silverlight 2
- 30. Comment changer la couleur de la zone de texte Disqus
+1 en particulier pour 'sys.stdout.isatty()' – Nifle
Il est également bon d'avoir un remplacement pour le cas où la sortie n'est pas un tty, mais vous voulez toujours la couleur - disons que vous êtes juste en train de filtrer les lignes avec sed ou grep –
'unbuffer' peut le faire, donc vous n'êtes pas bloqué s'il n'y a pas de remplacement. –