Các ví dụ phong phú về Python

Gần đây, tôi đang thực hiện một dự án mà tôi cần in đẹp một số dữ liệu trên bảng điều khiển. Đó là cách tôi phát hiện ra Rich, một thư viện Python dành cho văn bản có định dạng phong phú và đẹp mắt trong thiết bị đầu cuối

Trong câu chuyện này, tôi sẽ chỉ cho bạn một số tính năng của thư viện này và cách bạn có thể sử dụng nó trong các dự án của mình

RIch là gói python để tạo một số định dạng và ghi nhật ký thiết bị đầu cuối tuyệt vời. Nó có một số tính năng và chức năng có thể làm cho ứng dụng của bạn trông đẹp hơn và thậm chí thêm giao diện mới cho ứng dụng CLI của bạn. Chúng ta sẽ tìm hiểu quá trình cài đặt và cách sử dụng cơ bản của gói RICH trong Python trong bài viết này

Cài đặt phong phú

Rich là một package của python nên chúng ta có thể cài đặt nó bằng lệnh pip, bạn có thể trực tiếp dùng lệnh pip install để cài đặt rich nhưng nếu bạn không muốn làm rối tung môi trường global python của mình thì có thể dùng virtualenv để thử. . Vì vậy, trước tiên chúng ta sẽ thiết lập một môi trường ảo với gói virtualenv

Thiết lập môi trường ảo

Để thiết lập môi trường ảo, hãy làm theo quy trình được giải thích trong bài viết Tạo môi trường ảo bằng venv

Để thiết lập một môi trường ảo mới, bạn cần gói virtualenv, vì vậy hãy cài đặt gói này trên toàn cầu bằng lệnh

pip install virtualenv

 

Điều này sẽ cài đặt virtualenv trên môi trường python toàn cầu của bạn, vì vậy giờ đây chúng tôi có thể tạo một môi trường ảo ở bất kỳ đâu trên hệ thống của chúng tôi. Để tạo một môi trường ảo, chúng ta sẽ sử dụng lệnh virtualenv kèm theo tên của môi trường ảo. Đảm bảo ở vị trí mong muốn trên hệ thống của bạn, lệnh bên dưới sẽ tạo một thư mục ở vị trí hiện tại

virtualenv venv

 

Vì vậy, điều này sẽ tạo ra một môi trường ảo mới trong thư mục của bạn, chúng tôi cũng cần kích hoạt môi trường ảo. Để kích hoạt môi trường ảo, bạn cần thực thi một tệp có tên kích hoạt tùy thuộc vào Hệ điều hành của bạn

Đối với Linux/macOS

source venv/bin/activate

 

Vì vậy, đây là tất cả những gì chúng ta cần để tạo một môi trường ảo, bây giờ chúng ta có thể cài đặt bất kỳ gói python nào trong môi trường được kích hoạt này

Sử dụng pip để cài đặt phong phú

Bây giờ chúng ta có thể cài đặt bất kỳ gói nào trong môi trường ảo được kích hoạt một cách an toàn, để cài đặt phong phú, chúng ta cần chạy lệnh sau

pip install rich

 

Điều này sẽ cài đặt phong phú, đó là gói python. Để xác minh quá trình cài đặt đã thành công, bạn có thể chạy lệnh sau với sự trợ giúp của lệnh python -m theo sau là tên gói trong trường hợp này là Rich

python -m rich

 

Tạo một Python Script để chứng minh Rich

Bây giờ, vì chúng tôi đã cài đặt gói phong phú trong môi trường ảo, nên chúng tôi có thể sử dụng gói phong phú trong tập lệnh python và tận dụng các kiểu định dạng và ghi nhật ký của nó trong I/O đầu cuối. Trước tiên, chúng ta sẽ tạo tập lệnh từ hello trong python và minh họa một vài hàm và toán tử khác do gói phong phú cung cấp

Python3




pip install rich
41
pip install rich
42____343
pip install rich
44

 

pip install rich
44
virtualenv venv
1
virtualenv venv
2
virtualenv venv
3

 

Ở đây, chúng tôi đang nhập một chức năng có tên là in từ gói phong phú mà chúng tôi vừa cài đặt. Chức năng in khác với chức năng in thông thường do python cung cấp. Mặc dù về mặt kỹ thuật, nó phục vụ cùng một mục đích nhưng nó có thể làm được nhiều việc hơn chức năng in thông thường. Trong ví dụ trên, chức năng in có một số nội dung được viết được python hiểu là kiểu định dạng như [xanh đậm] và [/ xanh đậm].  

Hai thẻ này chỉ đại diện cho điểm bắt đầu và kết thúc của kiểu dáng được cung cấp trong dấu ngoặc vuông. Các kiểu được cung cấp trong ví dụ này là đậm và xanh lục. Bạn có thể chọn một vài tùy chọn để trang trí văn bản như cung cấp bên dưới

Có thể chọn màu từ danh sách được cung cấp trong tài liệu có liên kết này, màu là 256 Màu tiêu chuẩn cùng với định dạng màu theo kiểu CSS. Các trang trí như đậm, nghiêng, gạch chân, gạch chân, đảo ngược, v.v. có thể được cung cấp trong danh sách từ tài liệu.  

Tạo một màn hình nhiệm vụ thông tin

Python3




pip install rich
41
virtualenv venv
5
pip install rich
43
virtualenv venv
7

pip install rich
41
virtualenv venv
9
pip install rich
43
source venv/bin/activate
1

 

source venv/bin/activate
2____23
source venv/bin/activate
4

source venv/bin/activate
5
source venv/bin/activate
3
source venv/bin/activate
7
source venv/bin/activate
8
source venv/bin/activate
9
pip install rich
0
pip install rich
1
pip install rich
2
virtualenv venv
1
pip install rich
4
pip install rich
5
pip install rich
6
pip install rich
7

 

pip install rich
8
pip install rich
9
virtualenv venv
3

python -m rich
1

python -m rich
2
python -m rich
3
python -m rich
4

python -m rich
5
python -m rich
6
source venv/bin/activate
3
python -m rich
8
python -m rich
9
virtualenv venv
3

python -m rich
5
python -m rich
22____34
virtualenv venv
3

python -m rich
5
python -m rich
26____427
virtualenv venv
3

 

Ví dụ trên cho thấy quá trình hiển thị các tác vụ khác nhau trong một vòng lặp. Điều này được thực hiện với Console Wrapper API. Lớp Console cung cấp một số chức năng mở rộng dành riêng cho nội dung đầu cuối. Vì vậy, chúng tôi khởi tạo một đối tượng Console và sử dụng phương thức log để hiển thị đầu ra. Phương thức trạng thái được sử dụng để hiển thị quá trình đang diễn ra khi đang ở trong vòng lặp.  

Để biết thêm các tùy chọn và chức năng trong lớp Console, bạn có thể tham khảo tài liệu của thư viện Rich.  

Bàn trong Terminal với Rich

Chúng tôi thậm chí có thể hiển thị các bảng ở định dạng phong phú với gói phong phú. Gói phong phú có cách biểu diễn dữ liệu dạng bảng trong thiết bị đầu cuối với lớp Bảng. Chúng ta có thể xây dựng một vài bảng mẫu để hiểu các nguyên tắc cơ bản của việc hiển thị dữ liệu dạng bảng cho bảng điều khiển

Python3




pip install rich
41
pip install rich
410
pip install rich
43
pip install rich
412

pip install rich
41
virtualenv venv
9
pip install rich
43
source venv/bin/activate
1

pip install rich
41
pip install rich
418______343
pip install rich
420

pip install rich
41
pip install rich
422______343
pip install rich
424

 

pip install rich
425
source venv/bin/activate
3
pip install rich
427

_______42____3427

python -m rich
5
pip install rich
431____35

python -m rich
5
pip install rich
434
pip install rich
5

python -m rich
5
pip install rich
437____35

python -m rich
5
pip install rich
440
pip install rich
5

_______42____3443

_______42____3427

python -m rich
5
pip install rich
447
pip install rich
5

python -m rich
5
virtualenv venv
00______35

python -m rich
5
pip install rich
437____35

python -m rich
5
virtualenv venv
06
pip install rich
5

_______42____3443

_______42____3427

_______45____113____35

_______45____116____35

python -m rich
5
pip install rich
437____35

_______45____122____35

_______42____3443

_______42____3427

_______45____129____35

python -m rich
5____132____35

python -m rich
5
pip install rich
437____35

python -m rich
5
virtualenv venv
38
pip install rich
5

_______42____3443

virtualenv venv
42

 

source venv/bin/activate
2____23
source venv/bin/activate
4

 

 

virtualenv venv
46
source venv/bin/activate
3
virtualenv venv
48
source venv/bin/activate
3
virtualenv venv
50
virtualenv venv
3

virtualenv venv
52
source venv/bin/activate
3
virtualenv venv
54

 

virtualenv venv
55

 

virtualenv venv
56____23
virtualenv venv
58

virtualenv venv
59
virtualenv venv
60
source venv/bin/activate
3
virtualenv venv
50
virtualenv venv
63

python -m rich
2
virtualenv venv
65
virtualenv venv
66
virtualenv venv
67
source venv/bin/activate
3
virtualenv venv
69
virtualenv venv
3

python -m rich
2
virtualenv venv
65
virtualenv venv
73
virtualenv venv
67
source venv/bin/activate
3
virtualenv venv
69
virtualenv venv
3

python -m rich
2
virtualenv venv
65
virtualenv venv
80
virtualenv venv
67
source venv/bin/activate
3
virtualenv venv
69
virtualenv venv
3

python -m rich
2
virtualenv venv
65
virtualenv venv
87
virtualenv venv
67
source venv/bin/activate
3
virtualenv venv
69
virtualenv venv
3

python -m rich
2
source venv/bin/activate
9
virtualenv venv
94
pip install rich
1
virtualenv venv
96

python -m rich
5
virtualenv venv
98
virtualenv venv
99
source venv/bin/activate
00

 

python -m rich
2
source venv/bin/activate
02____23
source venv/bin/activate
04

 

python -m rich
2
source venv/bin/activate
06____23
source venv/bin/activate
08

 

Vì vậy, ở đây chúng tôi tạo một đối tượng bảng với các điều chỉnh ban đầu như chân trang và căn chỉnh. Dữ liệu đầu tiên được lưu trữ dưới dạng danh sách python, nghĩa là bạn có thể thêm hoặc chỉnh sửa dữ liệu trong chính nó. Bằng cách sử dụng hàm Live, chúng ta có thể tạo một bảng trong thời gian chạy bằng cách tự động thêm các giá trị cột và hàng bằng các hàm add_column và add_row trong lớp bảng

Các hàng hoặc dữ liệu thực tế được thêm vào sau khi chèn các cột vào dữ liệu, bằng cách lặp lại các giá trị được xác định trước đó từ danh sách TABLE_DATA, chúng ta có thể phân tích cú pháp toàn bộ cột dữ liệu hàng. Chức năng Hiển thị trực tiếp được sử dụng để hiển thị cấu trúc thời gian thực của nhật ký thiết bị đầu cuối và giúp hiển thị tập lệnh.  

Chúng tôi thậm chí có thể sử dụng tùy chọn của bảng điều khiển để chỉ cần in bảng thay vì hiển thị bảng trực tiếp bằng bảng điều khiển. chức năng nhật ký

bảng điều khiển. in [bảng]

Kết xuất tệp Markdown

Chúng tôi thậm chí có thể hiển thị nội dung đánh dấu trong thiết bị đầu cuối bằng tiện ích mở rộng đánh dấu đơn giản trong thư viện phong phú trong python. Ở đây chúng tôi sẽ sử dụng một tệp đánh dấu đơn giản để chứng minh hoạt động của kết xuất đánh dấu phong phú. Mẫu mã nguồn được cung cấp trong tài liệu và ở đây chúng tôi cần thực hiện một số thay đổi để mã nguồn hoạt động

Python3




pip install rich
41
virtualenv venv
9
pip install rich
43
source venv/bin/activate
1

pip install rich
41
source venv/bin/activate
14______343
source venv/bin/activate
16

 

source venv/bin/activate
2____23
source venv/bin/activate
4

source venv/bin/activate
20
source venv/bin/activate
21____11
source venv/bin/activate
23
source venv/bin/activate
24

python -m rich
2
source venv/bin/activate
26____23
source venv/bin/activate
28

source venv/bin/activate
29____344
source venv/bin/activate
31

Một tệp đánh dấu mẫu đã được cung cấp bên dưới

vật mẫu. md

python -m rich
2

đầu ra

 

Ở đây, chúng ta sẽ khởi tạo lớp console vì đầu ra sẽ nằm trên terminal/console. Sau đó, chúng tôi có thể mở tệp đánh dấu trong kho lưu trữ cục bộ và phân tích cú pháp tệp đó trong hàm Markdown sẽ hiển thị nội dung và sau khi đọc nội dung của tệp, chúng tôi có thể in nội dung được hiển thị trong bảng điều khiển.  

cây trong phú

Chúng ta cũng có thể tạo cấu trúc dạng cây trong thiết bị đầu cuối bằng cách sử dụng Rich. Có một lớp cây trong Rich để hiển thị các cấu trúc phân cấp trong thiết bị đầu cuối, chúng ta có thể tạo một thể hiện cây đơn giản bằng cách sử dụng lớp cây phong phú

Python3




pip install rich
41
source venv/bin/activate
33______343
source venv/bin/activate
35

pip install rich
41
pip install rich
42____343
pip install rich
44

 

source venv/bin/activate
40
source venv/bin/activate
3
source venv/bin/activate
42
source venv/bin/activate
43
virtualenv venv
3

source venv/bin/activate
45
source venv/bin/activate
46
virtualenv venv
3

pip install rich
44
source venv/bin/activate
49

đầu ra

 

Lớp cây được khởi tạo bằng phương thức Cây được nhập từ người giàu. mô-đun cây. Điều này tạo ra một nút gốc đơn giản trong cây, hơn nữa, chúng ta có thể thêm nút vào cây bằng cách sử dụng chức năng thêm được liên kết với cây. Sử dụng mã đơn giản này, chúng ta có thể tạo nhiều kiểu cây hơn bằng cách sử dụng lớp console ở định dạng phong phú.

Python3




source venv/bin/activate
50

pip install rich
41
virtualenv venv
9
pip install rich
43
source venv/bin/activate
1

pip install rich
41
source venv/bin/activate
33______343
source venv/bin/activate
35

 

source venv/bin/activate
2______23
source venv/bin/activate
61____23
source venv/bin/activate
63
virtualenv venv
3

 

source venv/bin/activate
65
source venv/bin/activate
3
source venv/bin/activate
42
source venv/bin/activate
68
virtualenv venv
3

 

source venv/bin/activate
70
source venv/bin/activate
3
source venv/bin/activate
72
source venv/bin/activate
73
virtualenv venv
3

source venv/bin/activate
75
source venv/bin/activate
76
virtualenv venv
3

source venv/bin/activate
75
source venv/bin/activate
79
virtualenv venv
3

source venv/bin/activate
75
source venv/bin/activate
82
virtualenv venv
3

source venv/bin/activate
75
source venv/bin/activate
85____13

 

source venv/bin/activate
87
source venv/bin/activate
3
source venv/bin/activate
72
source venv/bin/activate
90
virtualenv venv
3

source venv/bin/activate
92____293____13

source venv/bin/activate
92____296____13

 

source venv/bin/activate
98
source venv/bin/activate
3
pip install rich
427
pip install rich
01
pip install rich
5
pip install rich
03
pip install rich
5
pip install rich
05
pip install rich
5
pip install rich
07
pip install rich
5
pip install rich
09
virtualenv venv
42

pip install rich
11
source venv/bin/activate
3
source venv/bin/activate
72______314
virtualenv venv
3

source venv/bin/activate
9
pip install rich
17
pip install rich
1
pip install rich
19

_______42____321

 

source venv/bin/activate
29____344
pip install rich
24

 

pip install rich
25
source venv/bin/activate
3
pip install rich
27

pip install rich
28

pip install rich
29

đầu ra

 

Vì vậy, trong ví dụ này, chúng tôi đã sử dụng lớp console, bằng cách thêm các tham số như chiều rộng sẽ đặt chiều rộng của bảng điều khiển và chiều rộng của màn hình đầu ra. Tiếp theo, chúng ta sẽ khởi tạo một lớp cây để tạo một đối tượng cây và lưu trữ nó trong biến cây, chúng ta có thể đặt tên cho nó là bất cứ thứ gì chúng ta muốn như chúng ta đã đặt tên cho nó là example_tree trong ví dụ trước. Như đã trình bày trước đó, chúng tôi có thể thêm các nút vào cây, chúng tôi sẽ thêm nút dưới dạng một cây mới, vì vậy chúng tôi sẽ tạo các cây lồng nhau. Bằng cách gán giá trị trả về của hàm add cho biến cây, chúng ta đã thêm một nút mới, chúng ta có thể thêm các nút khác

Ở đây, biến cây là cây gốc có các nút như Python, Java và Javascript với các thể hiện của lớp cây là python_tree, java_tree và js_tree. Chúng tôi đã tạo python_tree với các nút như Numpy, Pandas và Django. Java_tree có các nút như Spring và Apache, và cuối cùng, chúng tôi có các nút js_tree dưới dạng danh sách các chuỗi mà chúng tôi nối thêm động bằng cách sử dụng vòng lặp for. Đối với mỗi phần tử trong danh sách “khung công tác”, chúng tôi thêm các nút trong js_tree

Đó là cách chúng ta có thể sử dụng lớp cây phong phú

Thanh tiến độ trong phong phú

Chúng tôi thậm chí có thể thêm các thanh tiến trình trong thiết bị đầu cuối bằng cách sử dụng phong phú. Người giàu cũng cung cấp một lớp để hiển thị các thanh tiến trình bằng cách sử dụng lớp theo dõi. Lớp theo dõi cung cấp chế độ xem các thanh tiến trình cho đến khi vòng lặp hoàn tất và tác vụ đã cho đạt 100%.  

Python3




pip install rich
41
pip install rich
31
pip install rich
43
pip install rich
33

pip install rich
41
virtualenv venv
5
pip install rich
43
virtualenv venv
7

 

source venv/bin/activate
9
pip install rich
39
pip install rich
1
pip install rich
41____32
virtualenv venv
1
pip install rich
44
pip install rich
45

_______42____422____34

virtualenv venv
3

đầu ra

 

Ở đây, chúng tôi đã minh họa một ví dụ cơ bản về một thanh tiến trình đơn giản cho một vòng lặp lặp lại trong phạm vi 10 số và nó ngủ trong một giây, do đó chúng ta thấy sự chuyển tiếp của thanh tiến trình.  

Chúng tôi thậm chí có thể thực hiện tác vụ không đồng bộ và hiển thị thanh tiến trình bằng cách hiển thị tiến trình yêu

Python3




pip install rich
43
virtualenv venv
5

 

pip install rich
41
pip install rich
31
pip install rich
43
pip install rich
55

 

pip install rich
56

 

python -m rich
2
pip install rich
58
source venv/bin/activate
3
pip install rich
60
pip install rich
61
pip install rich
62
source venv/bin/activate
3
source venv/bin/activate
63
virtualenv venv
3

python -m rich
2
pip install rich
67
source venv/bin/activate
3
pip install rich
60
pip install rich
70
pip install rich
62
source venv/bin/activate
3
pip install rich
73
virtualenv venv
3

python -m rich
2
pip install rich
76
source venv/bin/activate
3
pip install rich
60
pip install rich
79
pip install rich
62
source venv/bin/activate
3
pip install rich
82
virtualenv venv
3

 

python -m rich
2
python -m rich
3
pip install rich
86
pip install rich
87

python -m rich
5
pip install rich
89
source venv/bin/activate
3
pip install rich
91
virtualenv venv
3

python -m rich
5
pip install rich
94
source venv/bin/activate
3
pip install rich
96
virtualenv venv
3

python -m rich
5
pip install rich
99
source venv/bin/activate
3
python -m rich
01
virtualenv venv
3

python -m rich
5
python -m rich
04____405
virtualenv venv
3

đầu ra

 

Để hiển thị một vài thanh tiến trình trên thiết bị đầu cuối, chúng ta có thể thêm sử dụng chức năng Tiến trình trong lớp tiến trình. Chúng tôi thêm các tác vụ là các thanh tiến trình riêng lẻ và chúng tôi tăng tiến trình hiện tại, chúng tôi đã bao gồm vòng lặp while để chúng tôi tăng và thực hiện bất kỳ thao tác nào cho đến khi thanh tiến trình hoàn thành

Thanh tiến trình được tăng lên sau khi tác vụ đã được thực hiện ở đây tác vụ chỉ đơn giản là ngủ trong một phần giây nhưng đó có thể là bất kỳ thao tác nào như tìm nạp tài nguyên từ internet hoặc bất kỳ thao tác logic nào khác trong chương trình

Ở đây, chúng tôi đã thêm tham số tổng trong lớp tiến trình. Lớp tiến trình sẽ được hiển thị và tác vụ được thêm vào bởi hàm add_task có thêm thanh tiến trình trong bảng điều khiển. Hàm thêm nhiệm vụ nhận tham số tên nhiệm vụ và tổng số cho biết số bước phải hoàn thành để tiến độ đạt 100%

Chủ Đề