Πώς να εκτυπώσετε έγχρωμο κείμενο στο τερματικό στην Python;

Πώς μπορώ να βγάλω έγχρωμο κείμενο στο τερματικό, στην Python; Ποιο είναι το καλύτερο σύμβολο Unicode για την αναπαράσταση ενός συμπαγούς μπλοκ;

Θέλετε να μάθετε για τις ακολουθίες διαφυγής ANSI. Ακολουθεί ένα σύντομο παράδειγμα:

CSI="\x1B["
print(CSI+"31;40m" + "Colored Text" + CSI + "0m")

Για περισσότερες πληροφορίες δείτε http://en.wikipedia.org/wiki/ANSI_escape_code

Για έναν χαρακτήρα μπλοκ, δοκιμάστε έναν χαρακτήρα unicode όπως \u2588:

print(u"\u2588")

Συνδυάζοντας τα όλα μαζί:

print(CSI+"31;40m" + u"\u2588" + CSI + "0m")
Σχόλια (2)

Για τα Windows δεν μπορείτε να εκτυπώσετε στην κονσόλα με χρώματα, εκτός αν χρησιμοποιείτε το win32api.

Για το Linux είναι τόσο απλό όσο η χρήση της print, με τις ακολουθίες διαφυγής που περιγράφονται εδώ:

Colors

Για να εκτυπωθεί ο χαρακτήρας σαν κουτί, εξαρτάται πραγματικά από τη γραμματοσειρά που χρησιμοποιείτε για το παράθυρο της κονσόλας. Το σύμβολο της λίρας λειτουργεί καλά, αλλά εξαρτάται από τη γραμματοσειρά:

#
Σχόλια (0)

Μπορείτε να χρησιμοποιήσετε την υλοποίηση της βιβλιοθήκης curses στην Python: http://docs.python.org/library/curses.html

Επίσης, τρέξτε αυτό και θα βρείτε το κουτί σας:

for i in range(255):
    print i, chr(i)
Σχόλια (1)