3
コンソールカラーリングをサポートするアプリケーションの通常のルールは、現在のコンソールがTTYの場合にアクティブにすることです。色付けを有効にするためにPythonで擬似コンソールを検出する方法は?
このメソッドは、擬似コンソール用のTTYを開かないため、(Jenkins、Travisなどの)継続的な統合サーバーでは機能しません。
これらの2つの場合を区別することが可能である場合、私は疑問に思って:ジェンキンス下
mycommand
実行 - 私たちはmycommand >> output.log
を着色有効にする - 私たちはANSIで終わるしたくありませんログファイルでエスケープします。
私の古いANSI検出コード:
import sys
import os
if (hasattr(sys.stderr, "isatty") and sys.stderr.isatty()) or \
('TERM' in os.environ.keys() and os.environ['TERM'] in ['linux']) or \
('PYCHARM_HOSTED' in os.environ.keys()):
coloring = True
が、私はこの問題に対処するために、これを改善することはできますか?