Πώς μπορώ να βγάλω έγχρωμο κείμενο στο τερματικό, στην 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")
Για τα Windows δεν μπορείτε να εκτυπώσετε στην κονσόλα με χρώματα, εκτός αν χρησιμοποιείτε το win32api.
Για το Linux είναι τόσο απλό όσο η χρήση της print, με τις ακολουθίες διαφυγής που περιγράφονται εδώ:
Για να εκτυπωθεί ο χαρακτήρας σαν κουτί, εξαρτάται πραγματικά από τη γραμματοσειρά που χρησιμοποιείτε για το παράθυρο της κονσόλας. Το σύμβολο της λίρας λειτουργεί καλά, αλλά εξαρτάται από τη γραμματοσειρά:
#
Μπορείτε να χρησιμοποιήσετε την υλοποίηση της βιβλιοθήκης curses στην Python: http://docs.python.org/library/curses.html
Επίσης, τρέξτε αυτό και θα βρείτε το κουτί σας:
for i in range(255):
print i, chr(i)