Memaparkan Teks Berwarna dalam Terminal Python

Memaparkan Teks Berwarna dalam Terminal Python
Memaparkan Teks Berwarna dalam Terminal Python

Menambah Warna pada Output Terminal dalam Python

Python menawarkan pelbagai cara untuk meningkatkan kebolehbacaan dan penampilan output terminal. Satu kaedah yang berkesan ialah menggunakan teks berwarna, yang boleh menyerlahkan maklumat penting atau membezakan antara jenis data yang berbeza.

Dalam panduan ini, kami akan meneroka teknik dan perpustakaan berbeza yang tersedia dalam Python untuk mencetak teks berwarna ke terminal. Sama ada anda seorang pemula atau pembangun berpengalaman, kaedah ini akan membantu anda mencipta aplikasi baris perintah yang lebih menarik secara visual.

Perintah Penerangan
\033[91m Kod melarikan diri ANSI untuk warna teks merah.
\033[0m Kod melarikan diri ANSI untuk menetapkan semula pemformatan teks.
colorama.init(autoreset=True) Memulakan colorama dan menetapkannya untuk menetapkan semula warna secara automatik selepas setiap cetakan.
colorama.Fore.RED Pemalar colorama untuk warna teks merah.
colorama.Style.RESET_ALL Colorama constant untuk menetapkan semula semua pemformatan teks.
color_map.get(color, Fore.WHITE) Mengambil warna yang ditentukan daripada kamus color_map, lalai kepada putih jika warna tidak ditemui.

Memahami Teknik Mewarna Teks Terminal Python

Skrip pertama menggunakan ANSI escape codes untuk mencetak teks berwarna dalam terminal. Kod melarikan diri ini ialah jujukan aksara yang terminal tafsirkan sebagai arahan untuk menukar rupa teks. Sebagai contoh, \033[91m menukar warna teks kepada merah, manakala \033[0m menetapkan semula pemformatan teks. Skrip mentakrifkan fungsi, print_colored, yang memerlukan dua hujah: teks yang akan dicetak dan warna yang diingini. Di dalam fungsi, kamus memetakan nama warna kepada kod ANSI yang sepadan. Teks dicetak menggunakan rentetan f yang merangkumi kod warna dan kod set semula yang sesuai.

Skrip kedua menggunakan colorama perpustakaan, yang memudahkan output teks berwarna merentas platform. Perpustakaan dimulakan dengan colorama.init(autoreset=True), memastikan pemformatan teks ditetapkan semula selepas setiap kenyataan cetakan. The print_colored fungsi dalam skrip ini juga mengambil teks dan warna sebagai argumen. Kamus memetakan nama warna kepada colorama.Fore pemalar, seperti Fore.RED. Teks dicetak menggunakan rentetan f yang menggabungkan pemalar warna dengan teks dan Style.RESET_ALL tetap untuk menetapkan semula pemformatan. Skrip ini menunjukkan dua kaedah berkesan untuk menambah warna pada output terminal, meningkatkan kebolehbacaan dan pengalaman pengguna.

Menggunakan Kod Escape ANSI untuk Teks Berwarna dalam Python

Skrip Python dengan Kod Escape ANSI

def print_colored(text, color):
    color_codes = {
        "red": "\033[91m",
        "green": "\033[92m",
        "yellow": "\033[93m",
        "blue": "\033[94m",
        "magenta": "\033[95m",
        "cyan": "\033[96m",
        "white": "\033[97m",
    }
    reset_code = "\033[0m"
    print(f"{color_codes.get(color, color_codes['white'])}{text}{reset_code}")

Memanfaatkan Perpustakaan 'colorama' untuk Mewarna Teks Terminal

Skrip Python Menggunakan Perpustakaan 'colorama'

from colorama import init, Fore, Style
init(autoreset=True)
def print_colored(text, color):
    color_map = {
        "red": Fore.RED,
        "green": Fore.GREEN,
        "yellow": Fore.YELLOW,
        "blue": Fore.BLUE,
        "magenta": Fore.MAGENTA,
        "cyan": Fore.CYAN,
        "white": Fore.WHITE,
    }
    print(f"{color_map.get(color, Fore.WHITE)}{text}{Style.RESET_ALL}")

Meneroka Perpustakaan Tambahan untuk Teks Berwarna dalam Python

Selain menggunakan ANSI escape codes dan juga colorama perpustakaan, perpustakaan berkuasa lain untuk teks berwarna dalam Python ialah termcolor. Pustaka ini menyediakan API mudah untuk mencetak teks berwarna dalam terminal. Ia menyokong pelbagai atribut teks seperti tebal, garis bawah dan warna latar belakang. Untuk menggunakan termcolor, anda perlu memasangnya terlebih dahulu menggunakan pip. Setelah dipasang, anda boleh menggunakannya colored dan cprint fungsi. The colored fungsi mengembalikan rentetan dengan urutan pelarian yang sesuai, manakala cprint mencetak teks terus ke terminal.

Satu lagi perpustakaan yang berguna ialah rich, yang bukan sahaja menyokong teks berwarna tetapi juga membenarkan pemformatan lanjutan seperti jadual, pemaparan penurunan nilai dan penyerlahan sintaks. Ini menjadikannya alat serba boleh untuk mencipta aplikasi baris perintah yang menarik secara visual. Untuk menggunakan rich, pasangkannya melalui pip dan kemudian gunakannya print fungsi untuk pemformatan teks yang dipertingkatkan. Perpustakaan ini mengembangkan pilihan anda untuk penggayaan teks terminal, membolehkan anda mencipta alat CLI yang lebih menarik dan mesra pengguna.

Soalan Lazim Mengenai Teks Berwarna dalam Python

  1. Bagaimanakah cara saya memasang perpustakaan termcolor?
  2. Anda boleh memasang pustaka termcolor menggunakan arahan pip install termcolor.
  3. Apakah perbezaan antara colorama dan termcolor?
  4. Walaupun kedua-dua perpustakaan digunakan untuk teks berwarna dalam terminal, colorama lebih tertumpu pada keserasian merentas platform, sedangkan termcolor menyediakan API yang lebih mudah untuk atribut warna dan teks.
  5. Bolehkah saya menggunakan kedua-dua colorama dan termcolor dalam skrip yang sama?
  6. Ya, anda boleh menggunakan kedua-dua perpustakaan dalam skrip yang sama jika anda memerlukan ciri daripada kedua-duanya. Hanya pastikan anda memulakan dan menggunakannya dengan betul.
  7. Bagaimanakah cara saya mencetak teks tebal menggunakan termcolor?
  8. Anda boleh mencetak teks tebal dengan menggunakan parameter atribut dalam colored fungsi, cth., colored('Hello, World!', 'red', attrs=['bold']).
  9. Adakah mungkin untuk mewarna latar belakang teks dalam terminal?
  10. Ya, kedua-duanya colorama dan termcolor menyokong warna latar belakang. Dalam colorama, anda boleh menggunakan pemalar seperti Back.RED, dan dalam termcolor, anda boleh menggunakan on_color parameter.
  11. Bagaimanakah cara saya menetapkan semula pemformatan teks dalam kaya?
  12. Di dalam rich perpustakaan, pemformatan teks ditetapkan semula secara automatik pada penghujung panggilan fungsi cetakan, serupa dengan colorama's ciri autoset.
  13. Bolehkah saya menggunakan perpustakaan ini untuk memformat teks dalam fail log?
  14. Perpustakaan ini direka bentuk terutamanya untuk output terminal. Untuk memformat teks dalam fail log, anda mungkin perlu menggunakan perpustakaan pengelogan dengan sokongan warna atau menambah kod ANSI secara manual jika pemapar log menyokongnya.
  15. Apakah beberapa perpustakaan lain untuk pemformatan terminal lanjutan?
  16. Selain itu colorama, termcolor, dan rich, anda boleh meneroka perpustakaan seperti blessed dan texttable untuk pilihan pemformatan terminal lanjutan.

Pemikiran Akhir tentang Mewarna Teks Terminal Python

Menggunakan teks berwarna dalam terminal Python ialah cara yang berkuasa untuk meningkatkan kejelasan dan daya tarikan aplikasi baris arahan. Dengan memanfaatkan kod atau pustaka melarikan diri ANSI seperti colorama, termcolor dan kaya, pembangun boleh dengan mudah menambahkan warna dan atribut teks pada output mereka. Teknik ini bukan sahaja menjadikan output terminal lebih menarik secara visual tetapi juga membantu dalam menyerlahkan maklumat penting dan meningkatkan interaksi pengguna secara keseluruhan.