IPython Notebookで特定の出力を別の色で表示することは何とか可能ですか? たとえば、次のようなものです。
print("Hello Red World", color='red')
IPython Notebookで特定の出力を別の色で表示することは何とか可能ですか? たとえば、次のようなものです。
print("Hello Red World", color='red')
もちろん、ノートブックには独自の構文強調表示があります。したがって、他の場所で色を使用する場合は、自分や他の人にとって読みにくくならないように注意します (たとえば、出力は単純に黒にする必要がありますが、例外がある場合は部分を赤で表示します)。
しかし (驚いたことに)、ANSI エスケープ コードを (ブラウザでも) 使用できるようです。少なくとも、次のことができます。
デフォルトの Python プロンプト:
>>> print("\x1b[31m\"red\"\x1b[0m")
"red"
ノートブックで:
In [28]: print("\x1b[31m\"red\"\x1b[0m")
"red"
(明らかに、SO の構文の強調表示でここでごまかして、両方の例で「赤」が赤で印刷されるようにしました。SO ではユーザーがテキストの色を設定できないと思います。)
色を取得する別の方法を本当に知りません。
ANSI エスケープ コードの詳細については、ウィキペディアの記事をお勧めします。上記が冗長であることがわかった場合は、もちろん、これを囲むラッパー関数を記述できます。
生の Python 印刷ではありません。オブジェクトに を定義して_repr_html_
返すか、 を呼び出す必要がありますIPython.lib.display(object_with_repr_html)
。
組み込みの印刷を上書きして自動的に実行できると思います...
http://nbviewer.ipython.org/5098827 、 github の要点のコード、ここでの ML ディスカッションからインスピレーションを得ることができます。
このスニペットでは、すべての色を 1 行で表示できます。
RESET = "\x1b[0m"
print("To reset attributes: \\x1b[0m\n")
for i in range(0, 8):
print("\x1b[1;3{0}m\\x1b[1;3{0}m{1} \x1b[0;3{0}m\\x1b[0;3{0}m{1} "
"\x1b[1;4{0};3{0}m\\x1b[1;3{0};4{0}m{1}".format(i, RESET))