Tạo thanh tiến trình trong Python CLI

Tạo thanh tiến trình trong Python CLI

Bất cứ khi nào bạn tải xuống một tệp hoặc bắt đầu một trò chơi, bạn sẽ thấy một hình ảnh động thẩm mỹ tự cập nhật cho đến khi hoàn thành. Đây là một thanh tiến trình. Thanh tiến trình là một phần tử đồ họa được sử dụng để hình dung tiến trình của một tác vụ chẳng hạn như tải xuống, tải lên hoặc chuyển tệp.





Có hai loại thanh tiến trình: xác định và không xác định. Các thanh tiến trình xác định theo dõi tiến trình của một nhiệm vụ theo thời gian. Các thanh tiến trình không xác định chạy vô hạn với hoạt ảnh lặp lại.





LÀM VIDEO TRONG NGÀY

Vì vậy, làm thế nào bạn có thể tạo một thanh tiến trình xác định trong một chương trình Python CLI?





Mô-đun tqdm là gì?

tqdm là một mô-đun chủ yếu được duy trì bởi Casper da Costa-Luis cùng với mười thành viên khác. tqdm bắt nguồn từ từ tiếng Ả Rập taqaddum có thể có nghĩa là 'tiến bộ' và là chữ viết tắt của 'I love you so much' trong tiếng Tây Ban Nha (te quiero demasiado).

Sử dụng mô-đun tqdm, bạn có thể tạo một thanh tiến trình chức năng, hấp dẫn ngay trong thiết bị đầu cuối của mình. Để cài đặt mô-đun tqdm, hãy mở thiết bị đầu cuối của bạn và chạy:



pip install tqdm

Mô-đun thời gian là gì?

Mô-đun tiện ích tiêu chuẩn của Python bao gồm mô-đun thời gian theo mặc định, vì vậy bạn không cần phải cài đặt nó. Bạn có thể sử dụng chức năng ngủ được cung cấp trong mô-đun thời gian để thêm độ trễ cho các ứng dụng của mình, điều này sẽ giúp trực quan hóa tiến trình của thanh.

Bạn có thể sử dụng mô-đun thời gian để lấy ngày và giờ, lên lịch tác vụ và xây dựng các ứng dụng hữu ích như đồng hồ báo thức đơn giản , hoặc đồng hồ bấm giờ.





Cách thêm thanh tiến trình và tùy chỉnh nó

Thanh tiến trình mặc định rất dễ sử dụng và bạn có thể tùy chỉnh nó với một số tùy chọn.

1. Thanh tiến trình đơn giản

Bạn có thể tạo một thanh tiến trình đơn giản bằng cách nhập lớp tqdm từ mô-đun tqdm và chức năng ngủ từ mô-đun thời gian. Sử dụng vòng lặp for và lặp lại tqdm trên phạm vi mong muốn của bạn.





Phạm vi có thể là bất kỳ thứ gì lên đến 9e9 (chín tỷ). Chuyển số giây cho chức năng ngủ để thêm thời gian trễ để bạn có thể hình dung và xem thanh tiến trình đang hoạt động.

Bạn có thể triển khai một thanh tiến trình đơn giản như sau:

from tqdm import tqdm 
from time import sleep

for i in tqdm(range(100)):
sleep(.1)

Thay vì nhập tqdm, bạn có thể nhập trange từ mô-đun tqdm để kết hợp tqdm và dải ô và truyền trực tiếp tham số.

from tqdm import trange 
from time import sleep

for i in trange(100):
sleep(.1)

Kết quả bạn nhận được khi tạo một thanh tiến trình đơn giản trông giống như sau:

  Thanh tiến trình đơn giản

Kết quả đầu ra này bao gồm các phiên bản đồ họa và văn bản của tiến trình, cùng với thống kê thời gian.

2. Thanh tiến trình với văn bản mô tả

Bạn có thể thêm nhãn mô tả vào thanh tiến trình để giải thích mục đích của nó. Chuyển văn bản bạn muốn hiển thị được bao bọc trong dấu ngoặc kép dưới dạng desc tham số:

for i in tqdm(range(0, 10), desc ="Progress: "): 
sleep(.4)

Kết quả bạn nhận được khi thêm văn bản mô tả cùng với thanh tiến trình trông như sau:

  Thanh tiến trình với văn bản

3. Thanh tiến trình với chiều rộng tùy chỉnh

Theo mặc định, chiều rộng của thanh tiến trình được đặt động bằng kích thước của cửa sổ đầu ra. Bạn có thể tùy chỉnh nó theo ý thích của bạn với sự trợ giúp của ncols tham số.

bạn có cần playstation plus để chơi fortnite không

Bạn có thể triển khai thanh tiến trình với chiều rộng tùy chỉnh như:

for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "): 
sleep(.1)

Đầu ra bạn nhận được khi kéo dài chiều rộng của thanh tiến trình trông giống như sau:

  Thanh tiến trình với mô tả và ncols

4. Thanh tiến trình sử dụng màu

Bạn có thể tùy chỉnh màu của thanh tiến trình bằng cách sử dụng tham số màu. Bạn có thể làm điều này theo hai cách:

  1. Tên màu: Bạn có thể sử dụng tên của màu như xanh lá cây, đen, lục lam, v.v.
  2. Mã Hex: Mã hex là một định dạng trong đó máy tính lưu trữ màu. Bạn có thể biểu thị màu Hex bằng một băm (#) theo sau là 6 ký tự trong hệ thập lục phân (0-9, a-f). Mã hex # 000000 đại diện cho màu đen trong khi #ffffff đại diện cho màu trắng. Bằng cách thay đổi cường độ của những con số này, bạn sẽ có được các sắc thái màu khác nhau. Bạn có thể dùng Công cụ chọn màu của Google để chọn và dán màu Mã Hex.

Bạn có thể triển khai thanh tiến trình với các màu tùy chỉnh như:

for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "): 
sleep(.1)

Kết quả bạn nhận được khi thay đổi màu của thanh tiến trình:

  Thanh tiến trình có màu

5. Thanh tiến trình với khoảng thời gian tối thiểu

Bạn có thể tạo thanh tiến trình cập nhật với khoảng thời gian tối thiểu thay vì cài đặt mặc định. Bạn có thể chuyển một số chẳng hạn như 1,5 hoặc 2 sẽ đóng vai trò là khoảng thời gian giữa hai lần cập nhật. Giá trị mặc định của khoảng thời gian tối thiểu là 0,1.

Bạn có thể triển khai thanh tiến trình với khoảng thời gian tối thiểu như sau:

for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "): 
sleep(.1)

Đầu ra bạn nhận được bằng cách chỉ định một khoảng thời gian tối thiểu cho thanh tiến trình:

  Thanh tiến trình với khoảng thời gian tối thiểu

6. Thanh tiến trình sử dụng ký tự ASCII

Bạn có thể tạo thanh tiến trình bằng cách sử dụng các ký tự ASCII thay vì các thanh thông thường mà bạn thấy trên màn hình. Để sử dụng các ký tự ASCII, hãy đặt ascii tham số cho định dạng mong muốn.

Nếu bạn sử dụng một cái gì đó như 12345 * , mỗi cột của phạm vi lặp lại tuần tự từ một đến dấu hoa thị. Mặc dù nó rất tuyệt và có thể tùy chỉnh, nhưng hãy đảm bảo sử dụng thân thiện với người dùng khi sử dụng nó trong các ứng dụng thực tế.

Bạn có thể triển khai thanh tiến trình bằng cách sử dụng các ký tự ASCII như:

for i in tqdm(range(0, 100), ascii ="12345*"): 
sleep(.1)

Kết quả bạn nhận được bằng cách sử dụng các ký tự ASCII trong thanh tiến trình trông giống như sau:

  Thanh tiến trình với các ký tự ASCII

7. Thanh tiến trình sử dụng điểm bắt đầu được chỉ định

Thay vì bắt đầu thanh tiến trình từ 0, bạn có thể đặt một điểm bắt đầu cụ thể cho thanh tiến trình. Chuyển một giá trị bắt đầu như 50 đến ban đầu tham số.

Bạn có thể triển khai thanh tiến trình bằng cách sử dụng điểm bắt đầu cụ thể như:

for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

Đầu ra bạn nhận được khi bắt đầu thanh tiến trình tại một điểm được chỉ định:

  Thanh tiến trình với tham số ban đầu

8. Thanh tiến trình với số lần lặp lại cụ thể

Bạn có thể tạo thanh tiến trình chạy một số lần lặp cụ thể. Nếu bạn muốn chạy 500 lần lặp trong tổng số 50000, hãy chuyển 500 làm phạm vi và 50000 là tổng số lần lặp cho toàn bộ tham số.

Bạn có thể triển khai thanh tiến trình bằng cách sử dụng một số lần lặp lại cụ thể như:

không có âm thanh trong trò chơi windows 10
for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "): 
sleep(.1)

Kết quả đầu ra bạn nhận được bằng cách sử dụng thanh tiến trình với số lần lặp được chỉ định:

  Thanh tiến trình với số lần lặp lại cụ thể

Các ứng dụng của thanh tiến trình

Bạn sẽ thấy các thanh tiến trình trong các tình huống khác nhau, như phát lại trình phát đa phương tiện hoặc hiển thị các bước thông qua biểu mẫu trực tuyến.

Mặc dù thanh tiến trình trông có vẻ thẩm mỹ, nó thực hiện một công việc quan trọng là cung cấp phản hồi cho người dùng trong trường hợp họ rời khỏi trang web.