Seite 1 von 1

print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 08:39
von Kobra23759
Hallo ich bitte um Hilfe,
kann mir jemand bei der ausgabe von print in bold mit einer bestimmten Farbe helfen
Mein Versuch hat nicht geplappt
Vielen Dank

from colorama import Fore, Back, Style
bold='\033[1m'
underline='\033[4m'
ent="\033[0m"

print("Vordergrund")
print(f"{Fore.RED}Red{Style.RESET_ALL}")
print("Hintergrund")
print(f"{Back.BLUE}Red{Style.RESET_ALL}")
print("Weiter")

print(bold+"BOLD"+ent)
print(bold+"Underline"+ent)

Re: print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 09:48
von __deets__
Kann dein Terminal das denn? Denn ansonsten sieht das ganz gut aus.

Re: print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 09:52
von Kobra23759
danke für die Zwischenantwort
die Farbeinstellung klappt gut
ich bekomme aber keine fette bzw unterstrichene Ausgabe hin
Ich benutze Spyder

Re: print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 10:08
von __blackjack__
@Kobra23759: Nicht jedes Terminal oder jeder Terminal-Emulator unterstützt alle Steuercodes. Und manche stellen sie anders dar, „bold“ beispielsweise heller aber nicht fett. Manchmal kann es auch an den eingestellten/verfügbaren Schriftarten liegen, das beispielsweise eine Schriftart nicht in fett oder kursiv vorhanden ist, und das Anzeigeprogramm das nicht ”künstlich” macht.

Re: print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 10:14
von August1328
Ich nutze auch colorama und habe nen Trick gebraucht, daß das in nem normalen command Fenster unter Windows funktioniert.

In der Konsole von VS Code funktioniert es einwandfrei, auch Dein Code, aber wenn ich in nem extra Fenster starte, sehe ich das:

Vordergrund
←[31mRed←[0m
Hintergrund
←[44mRed←[0m
Weiter
←[31m←[1mBOLD←[0m
←[4mUnderline←[0m

Das kenne ich. Ich bin durch Zufall darauf gestossen, daß es funktioniert, wenn man colorama 1x aufruft und dann das Konsolen Fenster 1x cleared, also "cls" ausführt.

Dann ist da noch ein kleiner Schreibfehler vor underline, mit "bold" wird nichts unterstrichen werden. Und wenn Du fett / bold mit rot Schrift willst, einfach kombinieren.

So funktioniert bei mir alles...

Code: Alles auswählen

from time import sleep
from colorama import Fore, Back, Style
from os import system

bold='\033[1m'
underline='\033[4m'
ent="\033[0m"

print(f"{Fore.RED}Farbe aktivieren{Style.RESET_ALL}\n")
sleep(1.5)
system('cls')

print("Vordergrund")
print(f"{Fore.RED}Red{Style.RESET_ALL}")
print("Hintergrund")
print(f"{Back.BLUE}Red{Style.RESET_ALL}")
print("Weiter")

print(f"{Fore.RED}{bold}BOLD{ent}")
print(underline+"Underline"+ent)
Vielleicht ist da nen bug in colorama oder man muss es anders "starten", keine Ahnung. Ich nutze ein kurzes "cls" in allen Skripten, wo ich colorama einsetze und es klappt problemlos.

Gruß

Re: print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 10:22
von __blackjack__
@August1328: Die Dokumentation sagt ziemlich deutlich das man `colorama.init()` aufrufen muss. Ich meine wo ist der Sinn ein Cross-Plattform-Modul zu verwenden wenn man dann ein systemsspezifisches externes Programm aufruft. Und das dann auch noch mit `os.system()`. 🙄

Re: print anweisung formatieren

Verfasst: Samstag 1. Oktober 2022, 10:44
von August1328
:lol: ich wusste, daß ich wieder ne Watschn abkriege. Das init() habe ich übersehen, aber das kommt davon wenn man die Doku nur überfliegt. Aber Kobra23759 hat´s auch nicht genutzt...

Dann werde ich auch das mal ändern und kann os.system raus werfen.

Danke

Re: print anweisung formatieren

Verfasst: Montag 3. Oktober 2022, 07:35
von Kobra23759
danke an alle

Re: print anweisung formatieren

Verfasst: Dienstag 4. Oktober 2022, 19:58
von DeaD_EyE
Schau dir das mal an: https://github.com/Textualize/rich

Am besten gefällt mir das:

Code: Alles auswählen

console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")
Die Bibliothek ist so erfolgreich, dass der Maintainer ein Unternehmen drumherum gegründet hat.
Eine weitere Python-Erfolgsgeschichte. Das muss man sich erst mal vorstellen.
Da geht es nur um Text im Terminal und das im Jahr 2022. Die Terminal-Zeiten sind noch lange nicht vorbei.

Re: print anweisung formatieren

Verfasst: Mittwoch 5. Oktober 2022, 07:36
von Kobra23759
alle dead_eye,
welche Bibliothek muß ich für console.print noch gleich Laden

Re: print anweisung formatieren

Verfasst: Mittwoch 5. Oktober 2022, 08:03
von karolus
Kobra23759 hat geschrieben: Mittwoch 5. Oktober 2022, 07:36 alle dead_eye,
welche Bibliothek muß ich für console.print noch gleich Laden
RTFM ← https://github.com/Textualize/rich