Syntaxhervorhebung für die Python-Ausgabe?

Wenn Sie R in der Konsole verwenden, können Sie das Paket verwenden, coloroutum R-Ausgaben hervorzuheben.

Gibt es so etwas für die Python-Ausgabe? Ich interessiere mich hauptsächlich für:

  • einfache Unterscheidung von Befehlszeilen und Ausgabezeilen
  • einfache Unterscheidung zwischen list, dict, int, str, Objekten, bloßen printAusgängen usw.
  • Python-Fehlerausgabe leicht erkennen
  • wodurch sich die Konsole für das Auge angenehmer anfühlt
Weit entfernt vom Optimum können Sie Xterm-Escape-Sequenzen zum Färben unter Linux verwenden, aber Sie müssten es unter Windows ausschalten. der erste Link, den ich dazu gefunden habe: wiki.archlinux.org/index.php/Color_Bash_Prompt
@danielalder Das Python-Paket coloramafärbt Konsolenausgaben unter Linux und Windows. Unter Linux werden Escape-Sequenzen verwendet, unter Windows sollten es WinAPI-Aufrufe sein.

Antworten (2)

Ja, es könnte. Es gibt zwei Python-Skripte, die dies tun könnten: bpython und ipython . Sie können sie entweder direkt oder über den Python-Interpreter starten.

bpython

Python erschossen

ipython qtconsole

Ipython erschossen

Wow, die sind toll! Komisch, wie sich ihre Philosophie davon unterscheidet, dass sie die Eingabe nicht coloroutfärben (ich denke, das liegt daran, dass man die Ausgabe in R und Python nicht für die gleichen Dinge verwendet). Wissen Sie kurz bevor ich die Antwort als akzeptiert markiere, ob es in IPython oder BPython Optionen zum Analysieren und Farbgeben gibt ? Wie das Unterscheiden von Listen von Wörterbüchern mit Farben oder Strings von Ints?

Installieren Sie einfach colorama mit pip install coloramadann können Sie es verwenden mit:

import colorama
colorama.init()
print (colorama.Fore.RED + 'some red text')
print (colorama.Back.GREEN + 'and with a green background')

Bildschirmfoto

Wenn Sie unter anderem eine einfachere Art der Farbausgabe wünschen, sollten Sie einen Blick auf click und den secho()Befehl werfen, der erkennt, ob colorama installiert ist, und es automatisch verwendet, es behandelt auch das Entfernen der Farbe, wenn die Ausgabe umgeleitet wird usw .

import click
click.clear()  # Clear the terminal window
click.secho('Hello World!', fg='green')
click.secho('Some more text', bg='blue', fg='white')
click.secho('ATTENTION', blink=True, bold=True)

Geben Sie hier die Bildbeschreibung ein

Dies analysiert Ihre Ausgabe nicht, oder? Ich denke, ich müsste mich dann selbst Zeichenfolgen, Zahlen, Ausnahmen usw. hervorheben.
@lago-lito Wenn Sie Syntax-Highlighting haben möchten , sollten Sie es beim Namen nennen, die Art und Weise, wie Sie es beschreiben, ist leicht zu übersehen (ich habe es getan und Steve auch).