Colorama menyediakan cross-platform API sederhana untuk mencetak teks berwarna terminal dari aplikasi Python.
ANSI karakter escape urutan biasanya digunakan untuk menghasilkan teks terminal berwarna pada Mac dan Unix. Colorama memberikan beberapa cara pintas untuk menghasilkan urutan ini, dan membuat mereka bekerja pada Windows juga.
Ini memiliki efek samping senang bahwa aplikasi yang ada atau perpustakaan yang sudah menggunakan urutan ANSI untuk menghasilkan output berwarna pada Linux atau Mac (misalnya. Menggunakan paket seperti 'termcolor') sekarang dapat juga bekerja pada Windows, hanya dengan mengimpor dan inisialisasi Colorama.
Status
Dalam pembangunan. Beberapa fitur, seperti yang tercantum di bawah ini, yang belum diimplementasikan.
Penggunaan
Inisialisasi
Aplikasi harus menginisialisasinya Colorama menggunakan:
dari Colorama impor init
di dalamnya ()
Jika Anda berada di Windows, panggilan untuk '' init () '' akan mulai menyaring urutan ANSI escape dari setiap teks yang dikirim ke stdout atau stderr, dan akan menggantinya dengan yang setara Win32 panggilan.
Memanggil '' init () '' tidak berpengaruh pada platform lain (kecuali jika Anda menggunakan 'autoreset', lihat di bawah) Tujuannya adalah bahwa semua aplikasi harus memanggil init () tanpa syarat, maka output teks berwarna mereka hanya bekerja pada semua platform.
Berwarna Keluaran
Pencetakan cross-platform teks berwarna kemudian dapat dilakukan:
dari Colorama impor Fore, Kembali, Style
print Fore.RED + 'beberapa teks merah'
Back.GREEN cetak + dan dengan latar belakang hijau '
print Style.DIM + 'dan dalam teks dim'
cetak + Fore.DEFAULT + Back.DEFAULT + Style.DEFAULT
print 'kembali normal sekarang'
atau hanya secara manual mencetak urutan ANSI dari kode Anda sendiri:
print '/ 033 [31m' + 'beberapa teks merah'
print '/ 033 [30m' # dan reset ke default warna
atau Colorama dapat digunakan bahagia dalam hubungannya dengan ANSI perpustakaan yang ada seperti Termcolor (http://pypi.python.org/pypi/termcolor):
# Menggunakan Colorama untuk membuat Termcolor bekerja pada Windows juga
dari Colorama impor init
di dalamnya ()
# Kemudian menggunakan Termcolor untuk semua keluaran teks berwarna
dari termcolor impor berwarna
mencetak berwarna ('Hello, World!', 'hijau', 'on_red')
Konstanta format yang tersedia adalah:
Fore: HITAM, MERAH, HIJAU, KUNING, BIRU, MAGENTA, CYAN, PUTIH, DEFAULT.
Kembali: HITAM, MERAH, HIJAU, KUNING, BIRU, MAGENTA, CYAN, PUTIH, DEFAULT.
Style: DIM, NORMAL, BRIGHT, RESET_ALL
Style.RESET_ALL ulang foreground, background dan kecerahan. Colorama akan melakukan reset secara otomatis pada keluar dari program (Tidak dilaksanakan).
Autoreset
Tidak diterapkan
Jika Anda menemukan diri Anda berulang kali mengirim urutan ulang untuk mematikan perubahan warna pada setiap akhir cetak, kemudian init (autoreset = True) akan mengotomatisasi bahwa:
dari Colorama impor init
init (autoreset = True)
print Fore.RED + 'beberapa teks merah'
print 'otomatis kembali ke warna default lagi'
Tanpa membungkus stdout
Colorama bekerja dengan membungkus stdout dan stderr dengan objek proxy, yang menimpa write () untuk melakukan pekerjaan mereka. Menggunakan init (autoreset = True) akan melakukan pembungkus ini pada semua platform, bukan hanya Windows.
Jika benda proksi ini membungkus stdout dan stderr menyebabkan Anda masalah, maka ini dapat dinonaktifkan menggunakan init (wrap = False) (Tidak dilaksanakan), dan Anda malah dapat mengakses Colorama ini AnsiToWin32 proxy yang langsung. Akses atribut pada objek ini akan diteruskan ke aliran itu membungkus, selain .write (), yang pada Windows ditimpa untuk pertama melakukan ANSI untuk Win32 konversi pada teks:
dari Colorama impor init, AnsiToWin32
init (wrap = False)
aliran = AnsiToWin32 (sys.stderr)
cetak >> aliran, Fore.BLUE + 'teks biru pada stderr'
Pengembangan
Tes memerlukan modul Mock Michael Foord ini. Saya telah menggunakan nosetests untuk menjalankan tes meskipun mereka dapat bekerja tanpa itu, menggunakan:
colorama.tests python -m
Apa yang baru dalam rilis ini:.
- Ditambahkan beberapa dokumentasi untuk posisi kursor dan layar yang jelas untuk README. Add 'reinit' dan fungsi 'deinit', seperti yang disarankan oleh Charles FOL dan Romanov DA.
Apa yang baru dalam versi 0.1.18:
- Fix README (tidak seperti attr sebagai Fore.DEFAULT , dll), silakan dilaporkan oleh nodakai.
Apa yang baru dalam versi 0.1.17:
- Mencegah pencetakan kode sampah ANSI pada menginstal dengan pip
Apa yang baru dalam versi 0.1.16:
- Re upload untuk memperbaiki kesalahan sebelumnya. Membuat bersih sekarang menghilangkan MANIFEST tua.
Apa yang baru dalam versi 0.1.15:
- Fix python3 ketidakcocokan silakan dilaporkan oleh Gunter Kolousek
Apa yang baru dalam versi 0.1.14:
- Perbaiki keras-kode ulang ke putih-on- warna hitam. Fore.RESET, Back.RESET dan Style.RESET_ALL sekarang kembali ke warna seperti ketika init () dipanggil. Beberapa pelajaran semoga belajar tentang pengujian sebelum rilis.
Apa yang baru dalam versi 0.1.13:
- versi sebelumnya benar-benar rusak (tidak mengandung sumber) . Ganda oops.
Apa yang baru dalam versi 0.1.10:
- Hentikan meniru teks 'terang' dengan latar belakang terang. Teks tampilan 'normal' menggunakan Win32 foreground biasa bukan cerah. Drop dukungan untuk 'redup' teks.
Apa yang baru di versi 0.1.9:
- Perbaiki ketidaksesuaian dengan Python 2.5 dan sebelumnya Hapus setup. py ketergantungan pada setuptools, sekarang menggunakan distutils stdlib
Persyaratan :
- Python
Komentar tidak ditemukan