Làm cách nào để thêm màu vào mã python?
Các ứng dụng CLI thường trả về văn bản có cùng màu với thiết bị đầu cuối. Luôn có những trường hợp chúng tôi muốn làm nổi bật đầu ra cho người dùng, chẳng hạn như cảnh báo hoặc thông báo lỗi. Trong những trường hợp đó, một chút màu sắc có thể tạo ra sự khác biệt Show Bài viết này hướng dẫn bạn cách in đầu ra có màu trong thiết bị đầu cuối bằng Python có và không có thư viện Trình tự thoát ANSIMáy điện báo (TTY) của bạn, hay đúng hơn là thiết bị đầu cuối của bạn, không chỉ có khả năng hiển thị đầu ra của một chương trình. Nó có thể hiển thị một con trỏ đang di chuyển, tô màu văn bản, xóa toàn bộ màn hình và hơn thế nữa ngoài đầu ra tĩnh. Bạn có thể đã thấy các tiện ích dòng lệnh với văn bản đầy màu sắc và thanh tiến trình. Làm cách nào để chúng tôi kiểm soát việc trình bày dữ liệu mà chúng tôi đang xuất ra thiết bị đầu cuối? Chúng tôi sử dụng Trình tự/Mã Thoát ANSI. Đây là những chuỗi đặc biệt sửa đổi hành vi của thiết bị đầu cuối. Một ví dụ quen thuộc sẽ là ký tự Văn bản được tô màu trên thiết bị đầu cuối của bạn dựa trên chuỗi ANSI Escape. Bài viết này tập trung vào các trình tự thoát để tô màu văn bản Hai cách phối màu được sử dụng rộng rãi trong các thiết bị đầu cuối
Hãy bắt đầu tô màu đầu ra của chúng ta với tùy chọn 16 màu 16 màu sắc trong Python thôBảng 16 màu bao gồm hai bộ 8 màu, mỗi bộ (8 nền và 8 nền trước) và chúng có thể được hiển thị trong thiết bị đầu cuối bằng cách sử dụng cú pháp sau Hãy thử nghiệm điều này, bằng cách in một mẫu màu sặc sỡ với văn bản đậm màu đỏ và nền màu vàng. Mã kiểu để thể hiện văn bản in đậm là
Chạy lệnh trên trong trình thông dịch Python của bạn (hoặc tệp). Bạn sẽ thấy đầu ra này Điều đó không hoàn toàn đúng, văn bản sến sẩm của chúng tôi đang tràn sang dòng tiếp theo. Chúng tôi cần một điểm đặt lại để dừng in màu. Điều này có thể được thực hiện bằng cách nối thêm
Mã Trông đẹp hơn nhiều 16 màu trong Colorama - Mô-đun tích hợpColorama là một gói Python cung cấp các phương thức để in văn bản màu trong Python. Nó chỉ hỗ trợ sơ đồ 16 màu. Mô-đun chuẩn bị các chuỗi ANSI Escape để tạo văn bản có màu. Hãy cài đặt mô-đun với 1
Chúng tôi khuyên bạn nên cài đặt nó trong môi trường ảo. Sau khi thiết lập, hãy bắt đầu in văn bản màu với Colorama Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó Đầu tiên chúng tôi nhập các chức năng. 2 (để khởi tạo mô-đun và đặt 3 thành 4 để chúng tôi không phải đặt lại thủ công), 5 (Đối tượng văn bản tiền cảnh), 6 (Đối tượng nền) và 7 (Đối tượng kiểu). Mỗi đối tượng có bộ hằng số riêng có thể được gọi trong hàm 8Bằng cách nối các thành phần này theo cách thân thiện với con người, Colorama chuyển đổi các giá trị như 9 thành 43 đối với đối tượng 6, 2 thành 31 đối với đối tượng 5, v.v. Cuối cùng, chúng tôi kết thúc với một Trình tự ANSI, giống như lần trước, tuy nhiên, chúng tôi không cần phải tự biết mã - Colorama làm điều này cho chúng tôiKhông yêu cầu mẫu đặt lại, vì chúng tôi đã đặt đối số 3 thành 4 trong khi khởi tạo phiên bảnChạy mã sẽ hiển thị này 256 màu trong Python thôVới sự tiến bộ trong công nghệ, sơ đồ 256 màu thường thấy nhất trong các thiết bị đầu cuối. Nếu bạn đang sử dụng HĐH dựa trên Linux, bạn có thể kiểm tra bảng màu được thiết bị đầu cuối hỗ trợ bằng cách nhập lệnh sau
Nếu lệnh này trả về 7, thì thiết bị đầu cuối của bạn hỗ trợ tối đa 256 màu
Chúng ta có thể đi sâu vào ngay sau khi hiểu cú pháp của lược đồ 256 màu. Làm việc với 256 màu hơi khác so với làm việc với sơ đồ 16 màu Có một trình giữ chỗ để xác định xem màu sẽ được áp dụng cho văn bản hay nền; . Tiếp theo là mã màu nằm trong khoảng từ 0 đến 255 Dựa trên cú pháp trên, hãy thử tạo lại biểu trưng StackAbuse trong Python bằng Trình tự thoát ANSI Biểu trưng có nền màu xám nhạt (______3_______8) với các từ. Xếp chồng màu trắng ( 9) và Lạm dụng màu cam ( 0). Và tất nhiên, mã đặt lại cần được nhúng vào chuỗiNhư đã nói, chúng ta có thể tạo lại logo bằng Trình tự ANSI này
Kết quả này trong Đáng kinh ngạc. Thiết bị đầu cuối có thể in những màu nào khác? Tập lệnh này chứa hai hàm in biến mà bạn chuyển vào chúng, trong Chuỗi thoát ANSI tương ứng. Sau khi chúng tôi chạy tập lệnh và chuyển vào 1 trong một phạm vi nhất định, chẳng hạn như 2 cho lược đồ 16 màu hoặc 3 cho lược đồ 256 màu, nó sẽ in ra các chỉ số bằng màu ở các giá trị đóĐiều này sẽ in ra cả hai lược đồ được mã hóa màu trong thiết bị đầu cuối Điều này có thể rất hữu ích như một tài liệu tham khảo nhanh trong khi xây dựng các tiện ích dòng lệnh Phần kết luậnTrong hướng dẫn này, chúng ta đã tìm hiểu cách in đầu ra có màu, cho các ký tự mà chúng ta gửi đến luồng 4. Chúng tôi đã khám phá cách thực hiện việc này bằng cách sử dụng chức năng tích hợp sẵn mà Python cung cấp, cũng như cách sử dụng thư viện Colorama |