Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python
Quo là một bộ công cụ trong Python được thiết kế để viết các ứng dụng giao diện dòng lệnh (CLI). Với mục tiêu tạo ra các ứng dụng CLI nhanh chóng, dễ sử dụng và tránh các lỗi thường gặp trong quá trình triển khai, Quo mang lại nhiều tính năng hữu ích, giúp lập trình viên xây dựng các giao diện dòng lệnh đẹp mắt và hiệu quả.
Tính năng nổi bật của Quo
- Hỗ trợ các mô hình màu Ansi, RGB, và Hex.
- Trình bày dữ liệu theo bảng dễ dàng.
- Thanh tiến trình (progress bar) trực quan.
- Hoàn thiện mã tự động (code completion).
- Hỗ trợ lồng ghép các lệnh.
- Giao diện văn bản (TUI) có thể tùy chỉnh.
- Tự động tạo trang trợ giúp.
- Làm nổi bật cú pháp (syntax highlighting).
- Đề xuất tự động (autosuggestion).
- Hỗ trợ gán phím tắt (key bindings).
Yêu cầu hệ thống
Quo hoạt động mượt mà trên các hệ điều hành Linux, macOS, và Windows. Phiên bản Python yêu cầu là 3.8 hoặc cao hơn.
Bài viết này được đăng tại [free tuts .net]
Hướng dẫn sử dụng Quo trong Python
Cài đặt
Bạn có thể cài đặt Quo từ Python Package Index (PyPI) bằng lệnh:
pip install -U quo
Sau khi cài đặt, hãy kiểm tra đầu ra của Quo trên terminal:
python -m quo test
In dữ liệu ra màn hình
Sử dụng echo
Phương thức echo được sử dụng để xuất văn bản được định dạng ra màn hình terminal.
Ví dụ:
from quo import echo echo(f"Hello, World!", fg="red", italic=True, bold=True)
Kết quả:
Hello, World! (in đậm, nghiêng, màu đỏ)
Sử dụng print
Ngoài echo, bạn cũng có thể sử dụng print:
from quo import print print('<b>Đây là văn bản in đậm</b>') print('<i>Đây là văn bản nghiêng</i>') print('<red>Đây là văn bản màu đỏ</red>')
Nhập dữ liệu từ người dùng
Sử dụng prompt
from quo import prompt name = prompt("Tên của bạn là gì?") print(f"Chào {name}!")
Sử dụng đối tượng Prompt
from quo.prompt import Prompt session = Prompt() session.prompt("Nhập nội dung: ")
Tự động hoàn thành (Autocomplete) trong Python
Quo hỗ trợ tự động hoàn thành khi người dùng nhấn phím Tab
:
from quo.prompt import Prompt from quo.completion import WordCompleter countries = WordCompleter(['Việt Nam', 'Mỹ', 'Nhật Bản', 'Anh']) session = Prompt(completer=countries) session.prompt('Bạn đến từ quốc gia nào?: ')
Thanh tiến trình (Progress Bar) trong Python
Tạo thanh tiến trình bằng cách bọc một iterable với lớp ProgressBar
:
import time from quo.progress import ProgressBar with ProgressBar() as pb: for i in pb(range(100)): time.sleep(0.1)
Tạo bảng dữ liệu
Quo cho phép trình bày dữ liệu dưới dạng bảng với tính năng Table
:
from quo.table import Table data = [ ["Tên", "Giới tính", "Tuổi"], ["Alice", "Nữ", 24], ["Bob", "Nam", 19], ["Charlie", "Nam", 22] ] Table(data)
Hộp thoại (Dialogs) trong Python
Quo cung cấp các API tạo hộp thoại giao tiếp với người dùng.
Hộp thoại thông báo:
from quo.dialog import MessageBox MessageBox( title="Thông báo", text="Bạn có muốn tiếp tục? Nhấn ENTER để thoát." )
Hộp thoại nhập liệu:
from quo.dialog import InputBox InputBox( title="Nhập dữ liệu", text="Bạn đến từ quốc gia nào?" )
Tích hợp phím tắt (Key Bindings) trong Python
Quo cho phép bạn gán các phím tắt để thực thi các hành động cụ thể:
from quo import echo from quo.keys import bind from quo.prompt import Prompt session = Prompt() @bind.add("ctrl-h") def _(event): echo("Hello, World!") session.prompt(">> ")
Kết bài
Quo là một công cụ mạnh mẽ và đơn giản, giúp bạn dễ dàng xây dựng các ứng dụng CLI. Với những tính năng nổi bật như tự động hoàn thành, tùy chỉnh giao diện, và hỗ trợ màu sắc, Quo là lựa chọn lý tưởng cho những ai đang tìm kiếm một giải pháp CLI nhẹ nhàng nhưng hiệu quả.