colorama cung cấp một nền tảng API đơn giản để in màu văn bản thiết bị đầu cuối từ các ứng dụng Python.
ANSI chuỗi ký tự thoát ra được thường được sử dụng để sản xuất thiết bị đầu cuối văn bản màu trên máy tính Mac và Unix. Colorama cung cấp một số phím tắt để tạo ra những trình tự này, và làm cho họ làm việc trên Windows quá.
Điều này có hạnh phúc tác dụng phụ mà các ứng dụng hiện có hoặc thư viện mà đã sử dụng chuỗi ANSI để sản xuất ra màu trên Linux hoặc Mac (ví dụ. Sử dụng các gói như 'termcolor') bây giờ cũng có thể làm việc trên Windows, chỉ đơn giản bằng cách nhập và initialising Colorama.
Trạng thái
Trong phát triển. Một số tính năng, như đã nêu dưới đây, chưa thực hiện.
Cách sử dụng
Không khởi động
Ứng dụng nên khởi Colorama sử dụng:
từ colorama nhập khẩu init
trong đó ()
Nếu bạn đang trên Windows, các cuộc gọi đến '' init () '' sẽ bắt đầu lọc chuỗi ANSI thoát ra khỏi bất kỳ văn bản gửi đến stdout hoặc stderr, và sẽ thay thế chúng bằng tương đương Win32 gọi.
Kêu gọi '' init () '' không có tác dụng trên các nền tảng khác (trừ khi bạn sử dụng 'AutoReset', xem bên dưới) Các ý là tất cả các ứng dụng nên gọi init () vô điều kiện, sau đó ra văn bản màu của họ chỉ đơn giản là hoạt động trên tất cả các nền tảng.
Colored Output
Cross-nền tảng in ấn các văn bản màu sau đó có thể được thực hiện:
từ colorama nhập khẩu Fore, Back, Style
in Fore.RED + 'một số văn bản màu đỏ'
Back.GREEN in + và với một nền xanh '
in Style.DIM + 'và trong văn bản mờ'
in + Fore.DEFAULT + Back.DEFAULT + Style.DEFAULT
print 'trở lại bình thường'
hay chỉ đơn giản bằng cách thủ công in chuỗi ANSI từ mã của riêng bạn:
in '/ 033 [31m' + 'một số văn bản màu đỏ'
in '/ 033 [30m' # và thiết lập lại để mặc định màu
hoặc Colorama có thể được sử dụng một cách hạnh phúc cùng với các thư viện ANSI hiện có như Termcolor (http://pypi.python.org/pypi/termcolor):
# Sử dụng để làm cho Colorama Termcolor làm việc trên Windows quá
từ colorama nhập khẩu init
trong đó ()
# Sau đó sử dụng Termcolor cho tất cả các đầu ra văn bản màu
từ termcolor nhập khẩu màu
in màu ('Hello, World!', 'xanh', 'on_red')
Hằng số định dạng có sẵn là:
Fore: đen, đỏ, xanh, vàng, xanh dương, Đỏ, Xanh, Trắng, DEFAULT.
Trở lại: đen, đỏ, xanh, vàng, xanh dương, Đỏ, Xanh, Trắng, DEFAULT.
Kiểu: DIM, NORMAL, BRIGHT, RESET_ALL
Style.RESET_ALL reset foreground, nền và độ sáng. Colorama sẽ thực hiện reset này tự động khi thoát chương trình (Chưa triển khai).
AutoReset
Không thực hiện
Nếu bạn thấy mình liên tục gửi các trình tự reset để tắt thay đổi màu ở phần cuối của mỗi máy in, sau đó init (AutoReset = True) sẽ tự động hoá rằng:
từ colorama nhập khẩu init
init (AutoReset = True)
in Fore.RED + 'một số văn bản màu đỏ'
print 'tự động quay trở lại màu mặc định một lần nữa'
Nếu không có gói stdout
Colorama hoạt động bằng cách gói stdout và stderr với các đối tượng proxy, mà override write () để làm công việc của họ. Sử dụng init (AutoReset = True) sẽ làm gói này trên tất cả các nền tảng, không chỉ Windows.
Nếu các đối tượng proxy gói thiết bị xuất chuẩn và thiết bị lỗi chuẩn gây ra cho bạn các vấn đề, sau đó điều này có thể được vô hiệu hóa bằng cách sử dụng init (wrap = False) (Chưa triển khai), và thay vào đó bạn có thể truy cập AnsiToWin32 ủy Colorama của trực tiếp. Bất kỳ truy cập thuộc tính của đối tượng này sẽ được chuyển tiếp đến các dòng nó kết thúc tốt đẹp, ngoài .write (), mà trên Windows là ghi đè để lần đầu tiên thực hiện ANSI để Win32 chuyển đổi trên văn bản:
từ colorama nhập khẩu init, AnsiToWin32
init (wrap = False)
dòng = AnsiToWin32 (sys.stderr)
in >> suối, Fore.BLUE + 'chữ màu xanh trên stderr'
Phát triển
Các xét nghiệm cần mô-đun Mock Michael Foord của. Tôi đã được sử nosetests để chạy thử nghiệm mặc dù họ có thể làm việc mà không có nó, bằng cách sử dụng:
colorama.tests python -m
là gì mới trong phiên bản này:.
- Nhập một số tài liệu cho vị trí con trỏ và màn hình rõ ràng để readme. Thêm 'reinit' và 'deinit' chức năng, theo đề nghị của Charles FOL và Romanov DA.
là gì mới trong phiên bản 0.1.18:
- Fix README (không như attr như Fore.DEFAULT , vv), vui lòng báo cáo của nodakai.
là gì mới trong phiên bản 0.1.17:
- Ngăn chặn in mã ANSI rác khi cài đặt với pip
là gì mới trong phiên bản 0.1.16:
- Re-upload để sửa chữa lỗi trước đó. Làm sạch rồi loại bỏ MANIFEST cũ.
là gì mới trong phiên bản 0.1.15:
- Fix python3 không tương thích vui lòng báo cáo của Gunter Kolousek
là gì mới trong phiên bản 0.1.14:
- Fix reset cứng mã hoá để trắng-on- màu đen. Fore.RESET, Back.RESET và Style.RESET_ALL giờ trở lại màu sắc như họ khi init () được gọi. Một số bài học hy vọng được học về thử nghiệm trước khi phát hành.
là gì mới trong phiên bản 0.1.13:
- Phiên bản trước đã hoàn toàn bị phá vỡ (không chứa mã nguồn) . Đôi oops.
là gì mới trong phiên bản 0.1.10:
- Ngừng thi đua 'sáng' text với nền sáng. 'Bình thường' hiển thị văn bản bằng cách sử dụng tiền cảnh bình thường win32 thay vì sáng. Thả hỗ trợ cho 'mờ' text.
là gì mới trong phiên bản 0.1.9:
- Fix không tương thích với Python 2.5 và trước đó Di chuyển thiết lập. py phụ thuộc vào setuptools, bây giờ sử dụng distutils stdlib
Yêu cầu :
- Python
Bình luận không