HomeLập trìnhPythonCách sử dụng...

Cách sử dụng Thư viện phong phú với Python


Trong bài viết này, chúng ta sẽ tìm hiểu về một thư viện mạnh mẽ dành cho Python có tên là Rich.

Rich là một thư viện Python để viết giàu có văn bản (có màu sắc và kiểu dáng) vào thiết bị đầu cuối. Nó cho phép bạn hiển thị nội dung nâng cao như bảng, đánh dấu và mã được đánh dấu cú pháp.

Vì vậy, tại sao điều này là hữu ích? Chà, nếu bạn không sử dụng một công cụ như Rich, đầu ra mã của bạn trên thiết bị đầu cuối có thể hơi nhàm chán và khó hiểu. Nếu bạn muốn làm cho nó rõ ràng và đẹp hơn, bạn có thể muốn sử dụng Rich – và bạn đã đến đúng nơi để tìm hiểu cách thực hiện.

Cách cài đặt phong phú

Bạn có thể cài đặt Rich với píp như:

pip install Rich

Để biết tất cả những gì Rich có thể làm, bạn có thể gõ lệnh sau trong terminal:

python -m rich
Ảnh chụp màn hình-2022-02-06-103528

Bây giờ bạn có thể thấy rằng chúng ta có thể làm khá nhiều thứ với Rich. Hãy thử một vài trong số chúng để xem chúng hoạt động như thế nào.

Làm thế nào để in phong phú bằng Python

Rich có khả năng đánh dấu đầu ra theo kiểu dữ liệu. Chúng tôi sẽ nhập giải pháp thay thế print chức năng từ thư viện Rich có cùng các đối số như tích hợp sẵn print.

Để tránh nhầm lẫn với tích hợp print chức năng, chúng tôi sẽ nhập print từ rich thư viện như rprint.

from rich import print as rprint

nums_list = [1, 2, 3, 4]
rprint(nums_list)

nums_tuple = (1, 2, 3, 4)
rprint(nums_tuple)

nums_dict = {'nums_list': nums_list, 'nums_tuple': nums_tuple}
rprint(nums_dict)

bool_list = [True, False]
rprint(bool_list)

Đầu ra:

Đọc thêm  Nâng kỹ năng Python của bạn lên một tầm cao mới với khóa học video 6 giờ miễn phí này
Ảnh chụp màn hình-2022-02-06-104950

Bạn có thấy các loại dữ liệu khác nhau được đánh dấu bằng các màu khác nhau như thế nào không? Điều này có thể giúp chúng tôi rất nhiều trong khi gỡ lỗi.

Cách kiểm tra giàu bằng Python

Nếu bạn sử dụng tích hợp help chức năng xem tài liệu của thư viện, bạn sẽ thấy kết quả đầu ra nhàm chán.

import rich

print(help(rich))

Đầu ra:

Ảnh chụp màn hình-2022-02-06-110118

Giàu có một inspect() chức năng có thể tạo báo cáo về bất kỳ đối tượng Python nào. Nó là một công cụ hỗ trợ gỡ lỗi tuyệt vời và là một ví dụ điển hình về đầu ra mà Rich có thể tạo ra.

from rich import inspect
import rich

inspect(rich)

Đầu ra:

Ảnh chụp màn hình-2022-02-06-105936

Cách tạo kiểu cho bảng điều khiển của bạn với Rich

Để kiểm soát hoàn toàn định dạng thiết bị đầu cuối, Rich cung cấp một Console lớp.

Hãy viết một hàm để hợp nhất các từ điển Python.

from rich.console import Console

console = Console()


def merge_dict(dict_one, dict_two):
    merged_dict = dict_one | dict_two
    console.log(merged_dict, log_locals=True)


merge_dict({'id': 1}, {'name': 'Ashutosh'})

Đầu ra:

Ảnh chụp màn hình-2022-02-06-115032

Trong ví dụ trên, chúng tôi đã sử dụng log phương pháp cung cấp các khả năng giống như in, nhưng thêm một số tính năng hữu ích để gỡ lỗi ứng dụng đang chạy.

Ngoài ra còn một số phương pháp khác như print, print_json, out, rule, và như thế. Tìm hiểu thêm về chúng ở đây.

Cách sử dụng Tree trong Rich

Giàu có một Tree class có thể tạo chế độ xem dạng cây trong thiết bị đầu cuối. Chế độ xem dạng cây là một cách tuyệt vời để trình bày nội dung của hệ thống tệp hoặc bất kỳ dữ liệu phân cấp nào khác. Mỗi nhánh của cây có thể có một nhãn có thể là văn bản hoặc bất kỳ Rich renderable nào khác.

Hãy xem một ví dụ bằng cách tạo một cây phả hệ:

from rich.tree import Tree
from rich import print as rprint


tree = Tree("Family Tree")
tree.add("Mom")
tree.add("Dad")
tree.add("Brother").add("Wife")
tree.add("[red]Sister").add("[green]Husband").add("[blue]Son")

rprint(tree)

Đầu ra:

Đọc thêm  Chèn danh sách Python() – Cách thêm vào danh sách bằng Python
Ảnh chụp màn hình-2022-02-06-120229

Khi chúng ta tạo một thể hiện của Tree lớp, chúng ta có thể sử dụng add() phương pháp để thêm các chi nhánh vào nó. Để tạo một cây phức tạp, bạn chỉ cần sử dụng add() phương pháp để thêm nhiều chi nhánh vào nó. chú ý Anh traiEm gái nhánh trong ví dụ trên.

Trong tài liệu chính thức, chúng tôi có tệp tree.py xuất cấu trúc tệp bằng Tree. Đầu ra trông như thế này:

Ảnh chụp màn hình-2022-02-06-121033

Cách hiển thị thanh tiến trình bằng Rich

Rich có thể hiển thị thông tin được cập nhật liên tục về trạng thái của các tác vụ chạy lâu, bản sao tệp, v.v. Bạn cũng có thể tùy chỉnh thông tin này. Theo mặc định, nó cung cấp mô tả về ‘nhiệm vụ’, thanh tiến trình, phần trăm hoàn thành và thời gian dự kiến ​​​​còn lại.

Nhiều tác vụ được hỗ trợ với màn hình tiến độ phong phú, mỗi tác vụ có một thanh và thống kê tiến độ. Bạn có thể sử dụng điều này để theo dõi một số công việc đang được thực hiện trong các luồng hoặc quy trình.

Trước tiên chúng ta hãy thử progress.track phương thức tạo thanh tiến trình.

from rich.progress import track
from time import sleep


def process_data():
    sleep(0.02)


for _ in track(range(100), description='[green]Processing data'):
    process_data()

Đầu ra:

phát triển

Nếu chúng ta muốn ghi lại thời gian khi một tác vụ cụ thể được thực thi xong, chúng ta có thể sử dụng console.status thay thế.

from rich.console import Console
from time import sleep

console = Console()

data = [1, 2, 3, 4, 5]
with console.status("[bold green]Fetching data...") as status:
    while data:
        num = data.pop(0)
        sleep(1)
        console.log(f"[green]Finish fetching data[/green] {num}")

    console.log(f'[bold][red]Done!')
tiến độ-1

Bạn có thể làm việc trực tiếp với lớp Tiến trình nếu bạn cần một số tác vụ trong màn hình hoặc muốn tùy chỉnh các cột trong màn hình tiến trình. Sau khi bạn đã tạo một đối tượng Progress, hãy sử dụng (add_task()) để thêm (các) nhiệm vụ và (update_progress()) để cập nhật tiến độ.

Đọc thêm  Bộ Python – Hoạt động và ví dụ

Lớp Progress dự kiến ​​sẽ được sử dụng làm trình quản lý bối cảnh, tự động bắt đầu và dừng hiển thị tiến trình.

import time

from rich.progress import Progress

with Progress() as progress:

    task1 = progress.add_task("[red]Downloading...", total=100)
    task2 = progress.add_task("[green]Processing...", total=100)
    task3 = progress.add_task("[cyan]Installing...", total=100)

    while not progress.finished:
        progress.update(task1, advance=0.9)
        progress.update(task2, advance=0.6)
        progress.update(task3, advance=0.3)
        time.sleep(0.02)

Đầu ra:

tiến độ-2

Cách hiển thị Rich Columns trong Python

Rich có thể hiển thị văn bản hoặc các kết xuất Rich khác trong các cột gọn gàng với Columns lớp. Để sử dụng, hãy xây dựng một phiên bản Cột có thể lặp lại các kết xuất có thể lặp lại và in nó ra Bảng điều khiển.

import json
from urllib.request import urlopen

from rich.console import Console
from rich.columns import Columns
from rich.panel import Panel


def get_content(user):
    """Extract text from user dict."""
    country = user["location"]["country"]
    name = f"{user['name']['first']} {user['name']['last']}"
    return f"[b]{name}[/b]\n[yellow]{country}"


console = Console()


users = json.loads(urlopen("https://randomuser.me/api/?results=30").read())["results"]
user_renderables = [Panel(get_content(user), expand=True) for user in users]
console.print(Columns(user_renderables))

Đầu ra:

Ảnh chụp màn hình-2022-02-06-124236

Cách hiển thị bảng Rich trong Python

nhà giàu Table class cung cấp nhiều cách khác nhau để hiển thị dữ liệu dạng bảng cho thiết bị đầu cuối. lớp này có add_column()add_row() các phương thức để thêm cột và hàng tương ứng vào thể hiện của bảng được tạo từ Table lớp.

Hãy tạo một bảng cho danh sách việc cần làm của chúng ta. Bảng này sẽ có ba cột – S.Không., Nhiệm vụ,Trạng thái.

from rich.console import Console
from rich.table import Table

table = Table(title="Todo List")

table.add_column("S. No.", style="cyan", no_wrap=True)
table.add_column("Task", style="magenta")
table.add_column("Status", justify="right", style="green")

table.add_row("1", "Buy Milk", "✅")
table.add_row("2", "Buy Bread", "✅")
table.add_row("3", "Buy Jam", "❌")

console = Console()
console.print(table)

Đầu ra:

Ảnh chụp màn hình-2022-02-06-190131

kết thúc

Trong hướng dẫn này, chúng ta đã học cách sử dụng Rich để làm đẹp thiết bị đầu cuối. Có rất nhiều tính năng khác mà Rich hỗ trợ. Tìm hiểu thêm về chúng trong tài liệu chính thức.

Vui lòng rẽ nhánh và chơi với mã nguồn của bài viết này tại đây.

Cảm ơn vì đã đọc!

Đăng ký nhận bản tin của tôi



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status