Computer >> Máy Tính >  >> Lập trình >> Python

Văn bản được định dạng trong Linux Terminal bằng Python

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

Văn bản được định dạng trong Linux Terminal bằng Python

Để 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 ().