Trong phần này, chúng ta sẽ xem cách in văn bản được định dạng trong thiết bị đầu cuối Linux. Bằng cách định dạng, chúng tôi có thể thay đổi màu văn bản, kiểu và một số tính năng đặc biệt.
Thiết bị đầu cuối Linux hỗ trợ một số trình tự thoát ANSI để kiểm soát định dạng, màu sắc và các tính năng khác. Vì vậy, chúng tôi phải nhúng một số byte với văn bản. Vì vậy, khi thiết bị đầu cuối đang cố gắng diễn giải chúng, những định dạng đó sẽ có hiệu lực.
Cú pháp chung của chuỗi thoát ANSI như sau -
\x1b[A;B;C
- A là Kiểu Định dạng Văn bản
- B là Màu văn bản hoặc Màu nền trước
- C là Màu nền
Có một số giá trị được xác định trước cho A, B và C. Những giá trị này giống như bên dưới.
Kiểu định dạng văn bản (Kiểu A)
Giá trị | Kiểu |
---|---|
1 | In đậm |
2 | mờ mịt |
3 | Chữ nghiêng |
4 | Gạch chân |
5 | Chớp mắt |
6 | Nháy mắt đầu tiên |
7 | Đảo ngược |
8 | Ẩn |
9 | Gạch ngang |
Mã màu cho loại B và C.
Giá trị (B) | Giá trị (c) | Kiểu |
---|---|---|
30 | 40 | Đen |
31 | 41 | Đỏ |
32 | 42 | Màu xanh lá cây |
33 | 43 | Màu vàng |
34 | 44 | Xanh lam |
35 | 45 | Đỏ tươi |
36 | 46 | Màu lục lam |
37 | 47 | Màu trắng |
Mã mẫu
class Terminal_Format: Color_Code = {'black' :0, 'red' : 1, 'green' : 2, 'yellow' : 3, 'blue' : 4, 'magenta' : 5, 'cyan' : 6, 'white' : 7} Format_Code = {'bold' :1, 'faint' : 2, 'italic' : 3, 'underline' : 4, 'blinking' : 5, 'fast_blinking' : 6, 'reverse' : 7, 'hide' : 8, 'strikethrough' : 9} def __init__(self): #reset the terminal styling at first self.reset_terminal() def reset_terminal(self): #Reset the properties self.property = {'text_style' : None, 'fg_color' : None, 'bg_color' : None} return self def config(self, style = None, fg_col = None, bg_col = None): #Set all properties return self.reset_terminal().text_style(style).foreground(fg_col).background(bg_col) def text_style(self, style): #Set the text style if style in self.Format_Code.keys(): self.property['text_style'] = self.Format_Code[style] return self def foreground(self, fg_col): #Set the Foreground Color if fg_colinself.Color_Code.keys(): self.property['fg_color'] = 30 + self.Color_Code[fg_col] return self def background(self, bg_col): #Set the Background Color if bg_colinself.Color_Code.keys(): self.property['bg_color'] = 40 + self.Color_Code[bg_col] return self def format_terminal(self, string): temp = [self.property['text_style'],self.property['fg_color'], self.property['bg_color']] temp = [ str(x) for x in temp if x isnotNone ] # return formatted string return'\x1b[%sm%s\x1b[0m' % (';'.join(temp), string) if temp else string def output(self, my_str): print(self.format_terminal(my_str))
Đầu ra
Để chạy Script, chúng ta nên mở Python shell trong Terminal và sau đó, chúng ta sẽ nhập lớp từ script.
Sau khi tạo một đối tượng của lớp đó, chúng ta phải cấu hình để có được kết quả mong muốn. Mỗi khi chúng ta muốn thay đổi cài đặt đầu cuối, chúng ta phải định cấu hình nó bằng hàm config ().