Rich có thể hiển thị thông tin được cập nhật liên tục về tiến độ của các tác vụ/bản sao tệp đang chạy trong thời gian dài, v.v. Thông tin được hiển thị có thể định cấu hình, mặc định sẽ hiển thị mô tả về 'tác vụ', thanh tiến trình, phần trăm hoàn thành và thời gian ước tính còn lại
Hiển thị tiến trình phong phú hỗ trợ nhiều tác vụ, mỗi tác vụ có một thanh và thông tin tiến trình. Bạn có thể sử dụng điều này để theo dõi các tác vụ đồng thời nơi công việc đang diễn ra trong các luồng hoặc quy trình
Thật đẹp, hãy xem nó với python -m rich.progress
Để sử dụng cơ bản, hãy gọi hàm track[], hàm này chấp nhận một chuỗi [chẳng hạn như danh sách hoặc đối tượng phạm vi] và mô tả tùy chọn về công việc bạn đang thực hiện. Phương thức theo dõi sẽ mang lại các giá trị từ trình tự và cập nhật thông tin tiến trình trên mỗi lần lặp. Đây là một ví dụ
Ghi chú. Đối với những người không phải là thành viên, bài viết này cũng có sẵn tại https. //dineshkumarkb. com/tech/build-command-line-applications-in-python-using-rich/
Khách quan
Bạn có muốn vượt qua dòng lệnh đơn sắc thông thường không?
Ủng hộ
Rich hoạt động trên nền tảng OSX, linux và windows
con trăn
≥ Trăn 3. 6. 1
Cài đặt
pip install rich
Giới thiệu phong phú
Rich là một thư viện Python để viết văn bản có định dạng [có màu sắc và kiểu] vào thiết bị đầu cuối và để hiển thị nội dung nâng cao như bảng, đánh dấu và mã được tô sáng cú pháp
Bắt đầu
Không chần chừ gì nữa, hãy bắt đầu sử dụng các lệnh của thư viện rich
. Thư viện này cung cấp một trình thay thế thả xuống cho hầu hết các chức năng python tích hợp
Hãy bắt đầu với câu lệnh in. Tôi đang nhập
from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
1 dưới dạng from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
2 để tránh xung đột với câu lệnh mặc định của python là from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
1from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
Để thay đổi màu của văn bản được hiển thị, chỉ cần đặt tên màu giống như thẻ
from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
4. Hãy nhớ đóng thẻ khi bạn hoàn thànhĐầu ra của mã trên trông giống như dưới đây
In văn bản màu trên thiết bị đầu cuối
Hãy thử in bất kỳ đối tượng tích hợp nào bằng cả in bình thường và in phong phú và so sánh đầu ra
from rich import print as rprint
rprint["dictionary", dict]
print["dictionary", dict]
đầu ra
Lưu ý sự khác biệt về màu sắc giữa bản in bình thường và phong phú
Xin lưu ý rằng tôi chưa chỉ định bất kỳ màu nào cho bản in nhưng nó đưa ra gợi ý trực quan cho người dùng
Bây giờ, chúng ta đã thấy những điều cơ bản về khả năng của rich
, hãy thử một cái gì đó phức tạp hơn như điều khiển toàn bộ thiết bị đầu cuối, vẽ bảng điều khiển, v.v.
Lặn sâu
Để có tùy chỉnh thiết bị đầu cuối của riêng bạn, rich cung cấp API bảng điều khiển. Điều này có thể được tận dụng để tự động phát hiện một số thuộc tính như kích thước, mã hóa, color_system, v.v.
Rich sẽ tự động phát hiện hệ thống màu phù hợp hoặc bạn có thể đặt hệ màu theo cách thủ công bằng cách cung cấp giá trị cho ___1_______6 cho hàm tạo ___1_______7
Hệ thống màu được hỗ trợ
- Không → Không màu
- “auto” →Tự động phát hiện hệ thống màu của thiết bị đầu cuối của bạn
- “tiêu chuẩn” →Có thể hiển thị 8 màu từ “tiêu chuẩn” gồm 240 màu
- “256” →Có thể hiển thị 8 màu từ “tiêu chuẩn” gồm 240 màu
- “truecolor” →Có thể hiển thị 16. 7 triệu màu
- “windows” →Có thể hiển thị 8 màu trong thiết bị đầu cuối Windows cũ
Kết xuất bảng trên dòng lệnh của bạn
Lớp
from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
8 trong thư viện rich
giúp chúng tôi hiển thị dữ liệu dạng bảngdef display_table[]:
t = Table[title="Nolan Filmography", title_justify="center"]
t.add_column["Movie", justify="center", style="cyan"]
t.add_column["Year", justify="center", style="cyan"]
t.add_row["Tenet", "2021"]
t.add_row["Dunkirk", "2017"]
t.add_row["Intersteller", "2014"]
t.add_row["Inception", "2010"]
console.print[t]
đầu ra
Đầu ra dạng bảng từ phong phú
ghi nhật ký
Ngoài chức năng
from rich import print as rprint
rprint[" [red]Welcome[/red] to a rich cli "]
1, thư viện phong phú còn cung cấp cách ghi nhật ký hành động của bạn vào bảng điều khiểnconsole.log[f"User name received [red]{username}[/red]"]
con quay
Bạn đang hết spinners? Mệt mỏi vì sử dụng spinner mặc định? . Điều này cung cấp các loại con quay khác nhau từ hình vòng cung đến hình trái tim. Để kiểm tra các loại máy quay khác nhau, vui lòng sử dụng lệnh này
$python -m rich.spinner
đầu ra
Ghi chú. Xin lưu ý rằng các cửa sổ có thể không hỗ trợ tất cả các máy quay. Tôi đã cung cấp tất cả các ảnh chụp màn hình của mình từ Ubuntu 20. 04
Căn chỉnh đầu ra của bạn trên bảng điều khiển
Cả bản in và nhật ký đều hỗ trợ đối số
from rich import print as rprint
rprint["dictionary", dict]
print["dictionary", dict]
2 mà nếu được đặt phải là một trong các đối số “mặc định”, “trái”, “phải”, “giữa” hoặc “đầy đủ”. Nếu “trái”, mọi văn bản được in [hoặc ghi nhật ký] sẽ được căn trái, nếu “phải” văn bản sẽ được căn sang bên phải của thiết bị đầu cuối, nếu “giữa” thì văn bản sẽ được căn giữa và nếu “đầy đủ” thì văn bản sẽ được căn giữa. console.print[" ........ Welcome to the command line built using rich .........", style=style1, justify="center"]
Bố cục
Rich cung cấp bố cục cho dòng lệnh của bạn để hiển thị nội dung độc lập. Để nhận được tất cả các bố cục được hỗ trợ, vui lòng cung cấp lệnh bên dưới
$python -m rich.layout
đầu ra
Chế độ xem bố cục trong mô-đun phong phú
Các phương thức __rich__ và __rich_console__ cho các đối tượng tùy chỉnh
Cách dễ nhất để tùy chỉnh đầu ra của bàn điều khiển cho đối tượng của bạn là triển khai phương thức
from rich import print as rprint
rprint["dictionary", dict]
print["dictionary", dict]
3. Phương thức này không chấp nhận đối số và sẽ trả về một đối tượng mà Rich biết cách hiển thị, chẳng hạn như văn bản hoặc bảngclass Car:
def __rich__[self]:
return "[bold yellow]Car[]"
c = Car[]
rprint[c]
Đây là để hiển thị các đối tượng đơn giản hơn. Đối với các đối tượng phức tạp hơn, nên sử dụng __rich_console__
Yêu thích cá nhân của tôi
Mặc dù tất cả các tính năng của thư viện rich
đều tuyệt vời, cá nhân tôi thích
from rich import print as rprint
rprint["dictionary", dict]
print["dictionary", dict]
5, from rich import print as rprint
rprint["dictionary", dict]
print["dictionary", dict]
6 và from rich import print as rprint
rprint["dictionary", dict]
print["dictionary", dict]
7. Bạn luôn có thể sử dụng công cụ quay vòng hoặc thực tế là bất kỳ tính năng nào từ rich
mặc dù thư viện dòng lệnh bạn sử dụng có thể khác. . ]Vui lòng khám phá tài liệu để biết thêm các tính năng thú vị có thể phù hợp với nhu cầu của bạn
Hoàn thành mã
Tôi đã cung cấp mã hoàn chỉnh ở đây để bạn tham khảo. Điều này sẽ giúp bạn bắt đầu với rich