Pythonでターミナルに色付きテキストを表示するには?

Pythonで、色付きのテキストをターミナルに出力するにはどうしたらいいですか? ソリッドブロックを表すのに最適なUnicodeシンボルは何ですか?

ANSIのエスケープシーケンスについて学びたいと思っています。ここでは、簡単な例を紹介します。

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

詳しくは http://en.wikipedia.org/wiki/ANSI_escape_code をご覧ください。

ブロック文字の場合は、 ˶ˆ꒳ˆ˵ ) をお試しください。

print(u"\u2588")

まとめてみました。

print(CSI+"31;40m" + u"\u2588" + CSI + "0m")
解説 (2)

Windowsでは、win32apiを使用していない限り、カラーでコンソールに印刷することはできません。

Linuxでは、printを使うのと同じくらい簡単で、ここで説明しているエスケープシーケンスを使うことができます。

.

文字をボックスのように印刷するには、コンソールウィンドウで使用しているフォントに依存します。ポンド記号はうまくいきますが、フォントに依存します。

#
解説 (0)

curses ライブラリの Python 実装を使用することができます。 http://docs.python.org/library/curses.html

また、これを実行すると、あなたのボックスが見つかります。

for i in range(255):
    print i, chr(i)
解説 (1)