1

基本的に、コマンドライン/シェルのテキストに色を付ける簡単な(っぽい)クロスプラットフォームの方法が必要です。

モジュールのインポートを含まないようにしたいのですが、クロスプラットフォームのサポートはかなり複雑なので、おそらくそうしなければならないことはわかっています。

あまり精巧である必要はありませんが、いくつかの基本的な色で十分です。

4

3 に答える 3

3

ANSI例外シーケンスの作成は、特別なことは何も必要とせず、かなり簡単なはずです。

これは、手動で実行する方法を示す基本的な例です。*

または、参照用にtermcolorcoloramaなどのライブラリを参照することもできます。

*編集:この例が実際には完全に機能していないことがわかりました。それを機能させるに33[は、次のように置き換える必要があります\033[

于 2012-06-02T09:36:51.137 に答える
2

端末出力を着色するメカニズムはかなり普遍的です。これは、エスケープコマンドを出力ストリームにエコーすることによって行われます。

http://en.wikipedia.org/wiki/ANSI_escape_code

本当の鍵は、あなたが見ている端末がカラーリングをサポートしているかどうかを判断することです。たとえば、出力がファイルにリダイレクトされている場合、最終的にはテキストエディタでファイルを読み取っているため、エスケープシーケンスによって出力ストリームが乱雑になります。

ターミナルウィンドウの機能の決定は、通常、「termcap」と呼ばれるものを介して処理され、その正確な名前で、その目的のためにいくつかのライブラリがあります。これは、cursesのようなより有能なライブラリに組み込まれることもよくあります。

そして、運が良かったことがわかりました:http: //docs.python.org/library/curses.html

于 2012-06-02T09:36:58.860 に答える
1

クロスプラットフォーム/少し複雑なものが必要な場合は、モジュールを使用する必要があります。

クロスプラットフォームのpypi.python.org/pypi/coloramaを使用することをお勧めします。

于 2012-06-02T09:39:49.300 に答える