Hướng dẫn python rich pypi - trăn giàu pypi

Hướng dẫn python rich pypi - trăn giàu pypi

Tiếng Anh ReadMe • 简体 中文 readme • 正體 中文 readme • lengua española readme • deutsche readme • läs på svenska • 日本語 readme • readme • فار Readme • Türkçe Readme

Rich là một thư viện Python cho văn bản phong phú và định dạng đẹp trong thiết bị đầu cuối.

API phong phú giúp dễ dàng thêm màu sắc và kiểu dáng vào đầu ra thiết bị đầu cuối. Giàu cũng có thể hiển thị các bảng đẹp, thanh tiến trình, đánh dấu, cú pháp được tô sáng mã nguồn, tracbacks và nhiều hơn nữa - ra khỏi hộp.

Để giới thiệu video về Rich Xem See CalmCode.io của @FishNets88.

Xem những gì mọi người đang nói về giàu có.

Khả năng tương thích

Rich hoạt động với Linux, OSX và Windows. True Color / Emoji hoạt động với Terminal Windows mới, Terminal cổ điển được giới hạn ở 16 màu. Giàu có Python 3.6.3 trở lên.

Rich hoạt động với máy tính xách tay Jupyter mà không cần cấu hình bổ sung.

Cài đặt

Cài đặt với

python -m rich
9 hoặc Trình quản lý gói PYPI yêu thích của bạn.

python -m pip install rich

Chạy phần sau để kiểm tra đầu ra phong phú trên thiết bị đầu cuối của bạn:

python -m rich

Bản in phong phú

Để dễ dàng thêm đầu ra phong phú vào ứng dụng của bạn, bạn có thể nhập phương thức in phong phú, có chữ ký tương tự như hàm python tích hợp. Thử cái này:

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())

Phong phú lại

Giàu có có thể được cài đặt trong Python REP, để bất kỳ cấu trúc dữ liệu nào sẽ được in và tô sáng đẹp.

>>> from rich import pretty
>>> pretty.install()

Sử dụng bảng điều khiển

Để kiểm soát nhiều hơn đối với nội dung thiết bị đầu cuối phong phú, nhập và xây dựng một đối tượng console.

from rich.console import Console

console = Console()

Đối tượng Bảng điều khiển có phương thức

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
0 có giao diện có chủ ý tương tự với hàm
from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
0 tích hợp. Đây là một ví dụ về việc sử dụng:

console.print("Hello", "World!")

Như bạn có thể mong đợi, điều này sẽ in

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
2 vào thiết bị đầu cuối. Lưu ý rằng không giống như hàm
from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
0 tích hợp, Rich sẽ bao bọc văn bản của bạn để phù hợp với chiều rộng thiết bị đầu cuối.

Có một vài cách để thêm màu sắc và kiểu dáng vào đầu ra của bạn. Bạn có thể đặt một kiểu cho toàn bộ đầu ra bằng cách thêm đối số từ khóa

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
4. Đây là một ví dụ:

console.print("Hello", "World!", style="bold red")

Đầu ra sẽ giống như những điều sau:

Đó là tốt để tạo kiểu cho một dòng văn bản tại một thời điểm. Để tạo kiểu hạt mịn hơn, phong phú làm cho một dấu hiệu đặc biệt tương tự về cú pháp với BBCode. Đây là một ví dụ:

console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")

Bạn có thể sử dụng một đối tượng giao diện điều khiển để tạo ra đầu ra tinh vi với nỗ lực tối thiểu. Xem tài liệu API giao diện điều khiển để biết chi tiết.

Kiểm tra phong phú

Rich có chức năng kiểm tra có thể tạo báo cáo về bất kỳ đối tượng Python nào, chẳng hạn như lớp, ví dụ hoặc tích hợp.

>>> my_list = ["foo", "bar"]
>>> from rich import inspect
>>> inspect(my_list, methods=True)

Xem các tài liệu kiểm tra để biết chi tiết.

Thư viện phong phú

Rich chứa một số kết xuất xây dựng mà bạn có thể sử dụng để tạo đầu ra thanh lịch trong CLI của bạn và giúp bạn gỡ lỗi mã của mình.

Nhấp vào các tiêu đề sau để biết chi tiết:

Đăng nhập

Đối tượng Bảng điều khiển có phương thức

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
5 có giao diện tương tự như
from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
6, nhưng cũng hiển thị một cột cho thời gian hiện tại và tệp và dòng thực hiện cuộc gọi. Theo mặc định, Rich sẽ làm nổi bật cú pháp cho các cấu trúc Python và cho các chuỗi repring. Nếu bạn đăng nhập một bộ sưu tập (tức là một dict hoặc một danh sách) giàu có sẽ in nó để nó phù hợp với không gian có sẵn. Đây là một ví dụ về một số tính năng này.

from rich.console import Console
console = Console()

test_data = [
    {"jsonrpc": "2.0", "method": "sum", "params": [None, 1, 2, 4, False, True], "id": "1",},
    {"jsonrpc": "2.0", "method": "notify_hello", "params": [7]},
    {"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": "2"},
]

def test_log():
    enabled = False
    context = {
        "foo": "bar",
    }
    movies = ["Deadpool", "Rise of the Skywalker"]
    console.log("Hello from", console, "!")
    console.log(test_data, log_locals=True)


test_log()

Những điều trên tạo ra đầu ra sau:

Lưu ý đối số

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
7, xuất ra một bảng chứa các biến cục bộ trong đó phương thức nhật ký được gọi.

Phương pháp nhật ký có thể được sử dụng để đăng nhập vào thiết bị đầu cuối cho các ứng dụng chạy dài như máy chủ, nhưng cũng là một hỗ trợ gỡ lỗi rất đẹp.

Logging Handler

Bạn cũng có thể sử dụng lớp xử lý tích hợp để định dạng và tô màu đầu ra từ mô -đun ghi nhật ký của Python. Đây là một ví dụ về đầu ra:

Biểu tượng cảm xúc

Để chèn một biểu tượng cảm xúc vào để điều khiển đầu ra đặt tên giữa hai dấu chấm. Đây là một ví dụ:

python -m rich
0

Vui lòng sử dụng tính năng này một cách khôn ngoan.

Những cái bàn

Giàu có thể hiển thị các bảng linh hoạt với các ký tự hộp Unicode. Có rất nhiều tùy chọn định dạng cho đường viền, kiểu dáng, căn chỉnh ô, v.v.

Hoạt hình ở trên được tạo bằng Table_Movie.py trong thư mục ví dụ.

Đây là một ví dụ bảng đơn giản hơn:

python -m rich
1

Điều này tạo ra đầu ra sau:

Lưu ý rằng đánh dấu bảng điều khiển được hiển thị theo cách tương tự như

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
6 và
from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
5. Trong thực tế, bất cứ điều gì có thể thể hiện được bởi Rich đều có thể được bao gồm trong các tiêu đề / hàng (thậm chí các bảng khác).

Lớp

>>> from rich import pretty
>>> pretty.install()
0 đủ thông minh để thay đổi kích thước các cột để phù hợp với chiều rộng có sẵn của thiết bị đầu cuối, văn bản gói theo yêu cầu. Đây là ví dụ tương tự, với thiết bị đầu cuối được làm nhỏ hơn bảng trên:

Thanh tiến độ

Giàu có thể kết xuất nhiều thanh tiến trình không nhấp nháy để theo dõi các nhiệm vụ chạy dài.

Để sử dụng cơ bản, hãy bọc bất kỳ chuỗi nào trong hàm

>>> from rich import pretty
>>> pretty.install()
1 và lặp lại kết quả. Đây là một ví dụ:

python -m rich
2

Không khó hơn nhiều để thêm nhiều thanh tiến trình. Đây là một ví dụ được lấy từ các tài liệu:

Các cột có thể được cấu hình để hiển thị bất kỳ chi tiết bạn muốn. Các cột tích hợp bao gồm phần trăm hoàn chỉnh, kích thước tệp, tốc độ tệp và thời gian còn lại. Đây là một ví dụ khác hiển thị tải xuống trong tiến trình:

Để tự mình thử điều này, hãy xem các ví dụ/Downloader.py có thể tải xuống nhiều URL đồng thời trong khi hiển thị tiến trình.

Trạng thái

Đối với các tình huống khó tính tiến trình, bạn có thể sử dụng phương thức trạng thái sẽ hiển thị hoạt hình và thông điệp 'spinner'. Hoạt hình sẽ không ngăn bạn sử dụng bảng điều khiển như bình thường. Đây là một ví dụ:

python -m rich
3

Điều này tạo ra đầu ra sau trong thiết bị đầu cuối.

Các hoạt hình spinner đã được mượn từ CLI-Spinners. Bạn có thể chọn một spinner bằng cách chỉ định tham số

>>> from rich import pretty
>>> pretty.install()
2. Chạy lệnh sau để xem các giá trị có sẵn:

python -m rich
4

Lệnh trên tạo ra đầu ra sau trong thiết bị đầu cuối:

Cây

Giàu có thể kết xuất một cây với các dòng hướng dẫn. Một cây là lý tưởng để hiển thị cấu trúc tệp hoặc bất kỳ dữ liệu phân cấp nào khác.

Các nhãn của cây có thể là văn bản đơn giản hoặc bất cứ điều gì khác có thể hiển thị. Chạy những điều sau đây cho một cuộc biểu tình:

python -m rich
5

Điều này tạo ra đầu ra sau:

Xem ví dụ về cây.

Cột

Giàu có thể hiển thị nội dung trong các cột gọn gàng với chiều rộng bằng hoặc tối ưu. Dưới đây là một bản sao rất cơ bản của lệnh (macOS / linux)

>>> from rich import pretty
>>> pretty.install()
4 hiển thị danh sách thư mục trong các cột:

python -m rich
6

Ảnh chụp màn hình sau đây là đầu ra từ ví dụ các cột hiển thị dữ liệu được lấy từ API trong các cột:

Đánh dấu

Giàu có thể kết xuất Markdown và thực hiện một công việc hợp lý là dịch định dạng sang thiết bị đầu cuối.

Để kết xuất Markdown Nhập lớp

>>> from rich import pretty
>>> pretty.install()
5 và xây dựng nó với một chuỗi chứa mã Markdown. Sau đó in nó vào bảng điều khiển. Đây là một ví dụ:

python -m rich
7

Điều này sẽ tạo ra đầu ra như sau:

Cú pháp làm nổi bật

Rich sử dụng thư viện pygments để thực hiện làm nổi bật cú pháp. Việc sử dụng tương tự như kết xuất đánh dấu; Xây dựng một đối tượng

>>> from rich import pretty
>>> pretty.install()
6 và in nó vào bảng điều khiển. Đây là một ví dụ:

python -m rich
8

Điều này sẽ tạo ra đầu ra sau:

Tracebacks

Rich có thể thể hiện các dấu vết tuyệt đẹp dễ đọc và hiển thị nhiều mã hơn so với các dấu vết Python tiêu chuẩn. Bạn có thể thiết lập phong phú làm người xử lý Traceback mặc định để tất cả các trường hợp ngoại lệ chưa được thực hiện sẽ được Rich.

Đây là những gì nó trông giống như trên OSX (tương tự trên Linux):

Tất cả các kết xuất phong phú đều sử dụng giao thức bảng điều khiển mà bạn cũng có thể sử dụng để thực hiện nội dung phong phú của riêng bạn.

CLI giàu có

Xem thêm Rich CLI cho một ứng dụng dòng lệnh được cung cấp bởi Rich. Cú pháp làm nổi bật mã, kết xuất đánh dấu, hiển thị CSV trong các bảng và hơn thế nữa, trực tiếp từ dấu nhắc lệnh.

Văn bản

Xem thêm Dự án chị em của Rich, Textual, mà bạn có thể sử dụng để xây dựng các giao diện người dùng tinh vi trong thiết bị đầu cuối.

Các dự án sử dụng phong phú

Để biết một số ví dụ về các dự án sử dụng Rich, hãy xem Bộ sưu tập phong phú về Textualize.io.

Bạn có muốn thêm dự án của riêng bạn vào phòng trưng bày không? Bạn có thể! Làm theo những chỉ dẫn này.