Pythonでボールドテキストを印刷するにはどうすればよいですか?
例えば:
print "hello"
「hello」というテキストを太字で表示するにはどうすればよいですか。
Pythonでボールドテキストを印刷するにはどうすればよいですか?
例えば:
print "hello"
「hello」というテキストを太字で表示するにはどうすればよいですか。
回答:
class color:
PURPLE = '\033[95m'
CYAN = '\033[96m'
DARKCYAN = '\033[36m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
END = '\033[0m'
print(color.BOLD + 'Hello World !' + color.END)
これにはtermcolorを使用できます。
sudo pip install termcolor
色付きの太字を印刷するには:
from termcolor import colored
print(colored('Hello', 'green', attrs=['bold']))
詳細については、PyPiのtermcolorを参照してください。
simple-colorsは、同様の構文を持つ別のパッケージです。
from simple_colors import *
print(green('Hello', ['bold'])
まっすぐなコンピュータプログラミングでは、「大胆なテキストを印刷する」ようなものはありません。少しバックアップして、テキストがバイトのストリングであり、バイトはビットのバンドルにすぎないことを理解しましょう。コンピューターにとって、これがバイナリの「hello」テキストです。
0110100001100101011011000110110001101111
1または0はそれぞれビットです。8ビットごとが1バイトです。すべてのバイトは、Python 2.xのような文字列では、1つの文字/数字/句読点(文字と呼ばれます)です。だから例えば:
01101000 01100101 01101100 01101100 01101111
h e l l o
コンピュータはこれらのビットを文字に変換しますが、従来の文字列(ASCII文字列と呼ばれます)では、太字のテキストを示すものはありません。動作が少し異なるUnicode文字列では、コンピューターは中国語の文字のような国際言語文字をサポートできますが、一部のテキストは太字で、一部のテキストは太字ではないことは言うまでもありません。明示的なフォント、テキストサイズなどもありません。
HTMLを印刷する場合でも、文字列を出力しています。しかし、その文字列を読み取るコンピュータープログラム(Webブラウザー)はthis is <b>bold</b>、「これは太字です。、文字列を画面上のピクセルに変換するときに、」のれています。すべてのテキストがWYSIWYGの場合、HTML自体の必要性は軽減されます。エディターでテキストを選択し、HTMLを入力する代わりに太字にするだけです。
他のプログラムは異なるシステムを使用しています-多くの回答は、端末で太字のテキストを印刷するための完全に異なるシステムを説明しました。やりたいことをする方法を見つけてよかったと思いますが、ある時点で、文字列とメモリがどのように機能するかを理解したくなるでしょう。
Pythonでテキスト(太字、下線、色など)をフォーマットするための非常に便利なモジュールがあります。これは、使用していますcurseslibが、それは使用することは非常に単純明快です。
例:
from terminal import render
print render('%(BG_YELLOW)s%(RED)s%(BOLD)sHey this is a test%(NORMAL)s')
print render('%(BG_GREEN)s%(RED)s%(UNDERLINE)sAnother test%(NORMAL)s')
これを少しpythonicにするために、colors.pyという名前のシンプルなモジュールを書きました。
import colors
with colors.pretty_output(colors.BOLD, colors.FG_RED) as out:
out.write("This is a bold red text")
with colors.pretty_output(colors.BG_GREEN) as out:
out.write("This output have a green background but you " +
colors.BOLD + colors.FG_RED + "can" + colors.END + " mix styles")
ImportError: No module named terminal ImportError: No module named render 実際、これが「ターミナル」モジュールについて私が見つけた唯一のサイトです。詳しく説明してください。
terminalモジュールが含まれていましたが、ページをリダイレクトしています。これはグーグルによってキャッシュされたコードです。
print '\033[1m Your Name \033[0m'
\ 033 [1mは端末の太字のユニコードです\ 033 [0mは編集されたテキストを終了し、デフォルトのテキストを戻すためのユニコードです!!!!!
\ 033 [0mを使用しないと、ターミナルの次のテキストがすべて太字になります!!!!!!!!!
termcolorモジュールをインストールする
sudo pip install termcolor
そして、これを色付きのテキストに試します
from termcolor import colored
print colored('Hello', 'green')
または太字のテキストの場合:
from termcolor import colored
print colored('Hello', attrs=['bold'])
Pythonの3では、代替的に使用できるcprintドロップイン置換組み込み用としてのprint色のための任意の第二パラメータまたはとともに、attrsボールド(例えば、およびその他の属性のパラメータunderline通常の名前に加えて)printなどの引数fileまたはend。
import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)
完全な開示、この回答はOlu Smithの回答に大きく基づいて おり、編集として意図されていたため、このページのノイズが大幅に減少しましたが、一部の校閲者が編集の想定について誤った見解を示していたため、これを別の答えにするため。
実際の印刷端末で「印刷」を本当に意味すると仮定します。
>>> text = 'foo bar\r\noof\trab\r\n'
>>> ''.join(s if i & 1 else (s + '\b' * len(s)) * 2 + s
... for i, s in enumerate(re.split(r'(\s+)', text)))
'foo\x08\x08\x08foo\x08\x08\x08foo bar\x08\x08\x08bar\x08\x08\x08bar\r\noof\x08\
x08\x08oof\x08\x08\x08oof\trab\x08\x08\x08rab\x08\x08\x08rab\r\n'
それをあなたに送ってくださいstdout。
Python 3では、colorama-simple_colors:(Simple Colorsページ:https ://pypi.org/project/simple-colors/- 見出し「Usage」に移動します。)以下を実行する前に、を確認してくださいpip install simple_colours。
from simple_colors import *
print(green('hello', 'bold'))
pip install simple_colors