Bagaimana cara mencetak teks tebal dengan Python?
Sebagai contoh:
print "hello"
Apa yang harus saya lakukan agar teks "halo" ditampilkan dalam huruf tebal?
Bagaimana cara mencetak teks tebal dengan Python?
Sebagai contoh:
print "hello"
Apa yang harus saya lakukan agar teks "halo" ditampilkan dalam huruf tebal?
Jawaban:
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)
Gunakan ini:
print '\033[1m' + 'Hello'
Dan untuk kembali normal:
print '\033[0m'
Halaman ini adalah referensi yang bagus untuk mencetak warna dan bobot font. Buka bagian yang mengatakan 'Setel mode grafis:'
Dan perhatikan ini tidak akan bekerja pada semua sistem operasi tetapi Anda tidak memerlukan modul apa pun.
Anda dapat menggunakan termcolor untuk ini:
sudo pip install termcolor
Untuk mencetak huruf tebal berwarna:
from termcolor import colored
print(colored('Hello', 'green', attrs=['bold']))
Untuk informasi lebih lanjut, lihat termcolor pada PyPi .
simple-colors adalah paket lain dengan sintaksis yang serupa:
from simple_colors import *
print(green('Hello', ['bold'])
Setara dengan colorama mungkin Style.BRIGHT.
Dalam pemrograman komputer langsung, tidak ada yang namanya "mencetak teks tebal". Mari kita buat cadangan sedikit dan memahami bahwa teks Anda adalah serangkaian byte dan byte hanya kumpulan bit. Ke komputer, inilah teks "halo" Anda, dalam bentuk biner .
0110100001100101011011000110110001101111
Masing-masing atau nol sedikit. Setiap delapan bit adalah satu byte. Setiap byte, dalam string seperti itu di Python 2.x, satu huruf / angka / tanda baca item (disebut karakter). Jadi misalnya:
01101000 01100101 01101100 01101100 01101111
h e l l o
Komputer menerjemahkan bit-bit itu menjadi huruf, tetapi dalam string tradisional (disebut string ASCII), tidak ada yang menunjukkan teks tebal. Dalam string Unicode, yang bekerja sedikit berbeda, komputer dapat mendukung karakter bahasa internasional, seperti karakter Cina, tetapi sekali lagi, tidak ada yang mengatakan bahwa beberapa teks tebal dan beberapa teks tidak. Juga tidak ada font, ukuran teks, dll.
Dalam hal mencetak HTML, Anda masih mengeluarkan string. Tetapi program komputer yang membaca string itu (browser web) diprogram untuk menafsirkan teks seperti this is <b>bold</b>"ini tebal " ketika itu mengubah string huruf Anda menjadi piksel di layar. Jika semua teks adalah WYSIWYG, kebutuhan untuk HTML itu sendiri akan dikurangi - Anda hanya akan memilih teks di editor Anda dan cetak tebal alih-alih mengetikkan HTML.
Program lain menggunakan sistem yang berbeda - banyak jawaban menjelaskan sistem yang sama sekali berbeda untuk mencetak teks tebal pada terminal. Saya senang Anda mengetahui cara melakukan apa yang ingin Anda lakukan, tetapi pada titik tertentu, Anda akan ingin memahami cara kerja string dan memori.
Lihat colorama . Itu tidak selalu membantu dengan huruf tebal ... tetapi Anda dapat melakukan keluaran berwarna pada Windows dan Linux, dan mengontrol kecerahan:
from colorama import *
init(autoreset=True)
print Fore.RED + 'some red text'
print Style.BRIGHT + Fore.RED + 'some bright red text'
Ada modul yang sangat berguna untuk memformat teks (tebal, garis bawah, warna ..) dengan Python. Ini menggunakan curseslib tetapi sangat mudah digunakan.
Sebuah contoh:
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')
Saya menulis modul sederhana bernama colors.py untuk membuatnya lebih pythonic:
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 Sebenarnya ini adalah satu-satunya situs yang dapat saya temukan tentang modul "terminal". Tolong jelaskan.
terminalmodul, tetapi mereka mengarahkan ulang halaman. Ini kode yang di- cache oleh google.
print '\033[1m Your Name \033[0m'
\ 033 [1m adalah unicode untuk huruf tebal di terminal \ 033 [0m adalah unicode untuk mengakhiri teks yang diedit dan kembali format teks standar !!!!!
jika Anda tidak menggunakan \ 033 [0m dari semua teks terminal yang akan datang akan menjadi tebal !!!!!!!!!
Pasang termcolor modul
sudo pip install termcolor
dan kemudian coba ini untuk teks berwarna
from termcolor import colored
print colored('Hello', 'green')
atau ini untuk teks tebal:
from termcolor import colored
print colored('Hello', attrs=['bold'])
Dalam Python 3 Anda dapat menggunakan alternatif cprintsebagai pengganti drop-in untuk built-in print, dengan parameter opsional kedua untuk warna atau attrsparameter untuk huruf tebal (dan atribut lainnya seperti underline) selain printargumen bernama normal seperti fileatau end.
import sys
from termcolor import cprint
cprint('Hello', 'green', attrs=['bold'], file=sys.stderr)
Pengungkapan penuh, jawaban ini sangat didasarkan pada jawaban Olu Smith dan dimaksudkan sebagai suntingan , yang akan mengurangi kebisingan pada halaman ini secara signifikan tetapi karena konsep sesat beberapa pengulas tentang apa yang seharusnya diedit, saya sekarang dipaksa untuk menjadikan ini jawaban yang terpisah.
Beberapa terminal memungkinkan untuk mencetak teks berwarna. Beberapa warna terlihat seperti "berani". Mencoba:
print ('\033[1;37mciao!')
Urutan '\ 033 [1; 37m' membuat beberapa terminal untuk mulai mencetak dalam "putih terang" yang mungkin terlihat agak seperti putih tebal. '\ 033 [0; 0m' akan mematikannya.
Dengan asumsi bahwa Anda benar - benar bermaksud "mencetak" pada terminal pencetakan nyata :
>>> 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'
Kirimkan saja ke Anda stdout.
Dalam python 3 Anda bisa menggunakan colorama - simple_colors: (halaman Warna Sederhana: https://pypi.org/project/simple-colors/ - pergi ke tajuk 'Penggunaan'.) Sebelum Anda melakukan apa yang di bawah ini, pastikan Anda pip install simple_colours.
from simple_colors import *
print(green('hello', 'bold'))
pip install simple_colors