J'utilise colorama pour essayer de simuler dans le shell IDLE. Voici mon code :

from colorama import Fore, Back, Style

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

Ma sortie ressemble à ceci:

Error

Qu'est-ce qui est incorrect ? Pourquoi imprime-t-il ces lettres étranges au début ? J'utilise Windows OS.

PS : j'ai également essayé de l'exécuter dans l'invite de commande, et j'ai obtenu une sortie similaire

0
Xilpex 10 mars 2019 à 23:39

2 réponses

Meilleure réponse

Il vous manque un appel à init (faites défiler jusqu'à "Utilisation") :

from colorama import Fore, Back, Style, init

# Here
init()

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

Quelles sorties, colorées

some red text
and with a green background
and in dim text

back to normal now

Cela ne fonctionne toujours pas dans IDLE, mais fonctionne dans cmd et powershell.

1
Carcigenicate 10 mars 2019 à 20:52

Sous Windows, Colorama suppose que la sortie va à la console de texte Windows. L'invite de commande utilise cette console. Il en va de même pour python.exe lorsqu'il est démarré à partir d'une icône ou d'une entrée du menu Démarrer. Colorama envoie des codes d'échappement ANSI et effectue également des appels win32 compris par la console. Il ne fonctionne pas directement avec les frameworks graphiques dont les widgets de texte ont du texte coloré par une méthode différente.

0
Terry Jan Reedy 11 mars 2019 à 03:52