GUI thiết bị đầu cuối Python

Các chương trình Dòng lệnh đã đồng hành cùng chúng ta kể từ khi tạo ra các chương trình máy tính và được xây dựng dựa trên các lệnh. Chương trình dòng lệnh là chương trình hoạt động từ dòng lệnh hoặc từ trình bao

Trong khi Giao diện dòng lệnh là giao diện người dùng được điều hướng bằng cách nhập lệnh tại các thiết bị đầu cuối, trình bao hoặc bảng điều khiển, thay vì sử dụng chuột. Bảng điều khiển là chế độ hiển thị mà toàn bộ màn hình điều khiển chỉ hiển thị văn bản, không có hình ảnh và đối tượng GUI

Theo Wikipedia

CLI là phương tiện tương tác chính với hầu hết các hệ thống máy tính trên thiết bị đầu cuối máy tính vào giữa những năm 1960 và tiếp tục được sử dụng trong suốt những năm 1970 và 1980 trên OpenVMS, hệ thống Unix và hệ thống máy tính cá nhân bao gồm MS-DOS, CP/M và Apple . Giao diện thường được triển khai với trình bao dòng lệnh, đây là chương trình chấp nhận các lệnh dưới dạng nhập văn bản và chuyển đổi các lệnh thành các chức năng hệ điều hành thích hợp

Tại sao lại là trăn?

Python thường được coi là ngôn ngữ mã keo vì tính linh hoạt và hoạt động tốt với các chương trình hiện có. Hầu hết các mã Python được viết dưới dạng tập lệnh và giao diện dòng lệnh [CLI]

Việc xây dựng các giao diện và công cụ dòng lệnh này cực kỳ mạnh mẽ vì nó có thể tự động hóa hầu hết mọi thứ bạn muốn

Chúng ta đang ở thời đại của giao diện đẹp và tương tác, UI và UX rất quan trọng. Chúng tôi cần thêm những thứ này vào Dòng lệnh và mọi người đã có thể đạt được nó và nó được sử dụng chính thức bởi các công ty nổi tiếng như Heroku

Có rất nhiều thư viện và mô-đun Python để giúp xây dựng một ứng dụng dòng lệnh từ phân tích đối số và tùy chọn để gắn cờ cho các “khung” CLI hoàn chỉnh, thực hiện những việc như đầu ra được tô màu, thanh tiến trình, gửi email, v.v.

Với các mô-đun này, bạn có thể tạo giao diện dòng lệnh đẹp mắt và tương tác như các chương trình Heroku và Node như Vue-init hoặc NPM-init

Để tạo một thứ gì đó đẹp đẽ

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
1 cli một cách dễ dàng, tôi khuyên bạn nên sử dụng Python-inquirer, một cổng của Inquirer. js sang Python

Thật không may, Python-inquirer không hoạt động trên Windows do sử dụng các phước lành - gói python cho dòng lệnh nhập các mô-đun

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
2 và
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
0 chỉ khả dụng trên các hệ thống giống như Unix. Chà, một số nhà phát triển tuyệt vời đã có thể chuyển
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
2 sang Windows nhưng không phải
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
0. Một thay thế
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
0 trong cửa sổ là
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
4

Tuy nhiên, sau khi tìm kiếm nghiêm túc trên Google, tôi tình cờ gặp một mô-đun python, tôi đã sửa chữa đầy đủ và gọi nó là PyInquirer, một giải pháp thay thế cho python-inquirer và điều tốt là nó hoạt động trên tất cả các nền tảng bao gồm cả Windows. huaaaay

Khái niệm cơ bản về Giao diện dòng lệnh với Python

Bây giờ, hãy xem qua một chút về giao diện dòng lệnh và xây dựng một giao diện trong Python

Giao diện dòng lệnh [CLI] thường bắt đầu bằng tên của tệp thực thi. Bạn chỉ cần nhập tên của nó vào bảng điều khiển và bạn truy cập vào điểm vào chính của tập lệnh, ví dụ là

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
5

Có những tham số bạn cần chuyển vào tập lệnh tùy thuộc vào cách chúng được phát triển và chúng có thể là

  1. Tranh luận. Đây là một tham số bắt buộc được chuyển đến tập lệnh. Nếu bạn không cung cấp nó, CLI sẽ gặp lỗi. Chẳng hạn,
    # cli.py
    import click

    @click.command[]
    def main[]:
    click.echo["This is a CLI built with Click ✨"]

    if __name__ == "__main__":
    main[]
    6 là đối số trong lệnh này.
    # cli.py
    import click

    @click.command[]
    def main[]:
    click.echo["This is a CLI built with Click ✨"]

    if __name__ == "__main__":
    main[]
    7
  2. Tùy chọn. Như tên ngụ ý, nó là một tham số tùy chọn thường có tên và một cặp giá trị, chẳng hạn như
    # cli.py
    import click

    @click.command[]
    def main[]:
    click.echo["This is a CLI built with Click ✨"]

    if __name__ == "__main__":
    main[]
    8.
    # cli.py
    import click

    @click.command[]
    def main[]:
    click.echo["This is a CLI built with Click ✨"]

    if __name__ == "__main__":
    main[]
    9 là một tham số tùy chọn và giá trị
    # cli.py
    import click

    @click.command[]
    @click.argument['name']
    @click.option['--greeting', '-g']
    def main[name, greeting]:
    click.echo["{}, {}".format[greeting, name]]

    if __name__ == "__main__":
    main[]
    0 nên được sử dụng làm thư mục bộ đệm
  3. cờ. Đây là tham số tùy chọn đặc biệt cho tập lệnh bật hoặc tắt một hành vi nhất định. Cái phổ biến nhất có lẽ là
    # cli.py
    import click

    @click.command[]
    @click.argument['name']
    @click.option['--greeting', '-g']
    def main[name, greeting]:
    click.echo["{}, {}".format[greeting, name]]

    if __name__ == "__main__":
    main[]
    1

Với các CLI phức tạp như Heroku Toolbelt, bạn sẽ có thể truy cập một số lệnh được nhóm dưới điểm vào chính. Chúng thường được coi là lệnh hoặc lệnh phụ

Bây giờ hãy xem cách xây dựng CLI thông minh và đẹp mắt với các gói python khác nhau

Argparse

Argparse là mô-đun python mặc định để tạo các chương trình dòng lệnh. Nó cung cấp tất cả các tính năng bạn cần để xây dựng một CLI đơn giản

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
1

Điều này thực hiện một hoạt động bổ sung đơn giản.

# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
2 cho phép bạn thêm mô tả vào chương trình của mình trong khi
# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
3 cho phép bạn thêm lệnh.
# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
4 trả về các đối số đã cho và chúng thường đi theo cặp tên-giá trị

Chẳng hạn, bạn có thể truy cập

# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
5 đối số được cung cấp bằng cách sử dụng
# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
6. Trong đoạn mã trên,
# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
7 là đối số tùy chọn trong khi
# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
8 là đối số vị trí

Nhấp chuột

Với Click, bạn có thể xây dựng CLI dễ dàng so với Argparse. Nhấp chuột giải quyết cùng một vấn đề mà argparse giải quyết, nhưng sử dụng một cách tiếp cận hơi khác để làm như vậy. Nó sử dụng khái niệm về trang trí. Điều này cần các lệnh để trở thành các chức năng có thể được bao bọc bằng cách sử dụng các trình trang trí

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]

Bạn có thể thêm đối số và tùy chọn như bên dưới

# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]

Nếu bạn chạy các tập lệnh trên, bạn sẽ nhận được

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
1

Kết hợp mọi thứ lại với nhau, tôi đã có thể xây dựng một CLI đơn giản để truy vấn sách trên Google Sách

Để biết thêm thông tin, bạn có thể tìm hiểu sâu về Click từ tài liệu chính thức

tài liệu

Docopt là gói python nhẹ để dễ dàng tạo giao diện dòng lệnh bằng cách phân tích cú pháp hướng dẫn sử dụng kiểu POSIC hoặc Markdown. Docopt sử dụng các quy ước đã được sử dụng trong nhiều năm để định dạng thông báo trợ giúp và trang hướng dẫn để mô tả giao diện dòng lệnh. Mô tả giao diện trong

# cli.py
import click

@click.command[]
@click.argument['name']
@click.option['--greeting', '-g']
def main[name, greeting]:
click.echo["{}, {}".format[greeting, name]]

if __name__ == "__main__":
main[]
9 là một thông báo trợ giúp, nhưng được chính thức hóa

Docopt rất quan tâm đến cách định dạng chuỗi tài liệu bắt buộc ở đầu tệp của bạn. Phần tử trên cùng trong chuỗi tài liệu của bạn sau tên công cụ của bạn phải là "Cách sử dụng" và nó sẽ liệt kê các cách bạn muốn lệnh của mình được gọi

Phần tử thứ hai nên theo sau trong chuỗi tài liệu của bạn phải là “Tùy chọn” và phần tử này sẽ cung cấp thêm thông tin về các tùy chọn và đối số mà bạn đã xác định trong “Cách sử dụng. ” Nội dung của chuỗi tài liệu của bạn trở thành nội dung của văn bản trợ giúp của bạn

PyInquirer

PyInquirer là một mô-đun cho giao diện người dùng dòng lệnh tương tác. Các gói chúng tôi đã thấy ở trên chưa triển khai “giao diện đẹp” mà chúng tôi muốn. Vì vậy, hãy xem cách sử dụng PyInquirer

Thích Người hỏi. js, PyInquirer được cấu trúc thành hai bước đơn giản

  1. Bạn xác định một danh sách các câu hỏi và chuyển chúng cho người nhắc
  2. Lời nhắc trả về một danh sách các câu trả lời
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
3

Một ví dụ tương tác

Kết quả

Hãy kiểm tra một số phần của kịch bản này

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
4

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
10 được sử dụng để xác định các kiểu tùy chỉnh mà bạn muốn cho giao diện của mình.
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
11 giống như một thành phần và nó có một số thành phần khác bên dưới nó

Chúng ta đã thấy danh sách

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
12 trong ví dụ trước và nó được chuyển vào
# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
13 để xử lý

Một ví dụ về CLI tương tác mà bạn có thể tạo bằng cái này là

kết quả

Py Figlet

Pyfiglet là một mô-đun python để chuyển đổi chuỗi thành Văn bản ASCII với phông chữ nghệ thuật. Pyfiglet là một cổng đầy đủ của FIGlet [http. //www. miếng nhỏ. org/] thành python thuần

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
9

kết quả

Clint

Clint được kết hợp với mọi thứ bạn cần để tạo CLI. Nó hỗ trợ màu sắc, trình quản lý ngữ cảnh thụt lề có khả năng làm tổ tuyệt vời, hỗ trợ trích dẫn kiểu email tùy chỉnh, có một máy in Cột tuyệt vời với các cột tự động mở rộng tùy chọn, v.v.

Mát mẻ phải không?

Các công cụ Python CLI khác

Xi măng. Đó là một khung CLI chính thức. Cement cung cấp một nền tảng nhẹ và đầy đủ tính năng để xây dựng mọi thứ từ các tập lệnh tệp đơn lẻ đến các ứng dụng được thiết kế phức tạp và phức tạp

vách đá. Cliff là một khuôn khổ để xây dựng các chương trình dòng lệnh. Nó sử dụng các điểm vào setuptools để cung cấp các lệnh con, trình định dạng đầu ra và các tiện ích mở rộng khác

Đặt. Plac là một trình bao bọc đơn giản trên argparse của thư viện chuẩn Python, che giấu hầu hết sự phức tạp của nó bằng cách sử dụng giao diện khai báo. trình phân tích cú pháp đối số được suy luận thay vì được viết ra một cách bắt buộc

EmailCLI

Cộng mọi thứ lại với nhau, tôi đã viết một cli đơn giản để gửi thư qua SendGrid. Vì vậy, để sử dụng tập lệnh bên dưới, hãy lấy Khóa API của bạn từ SendGrid

Cài đặt

# cli.py
import click

@click.command[]
def main[]:
click.echo["This is a CLI built with Click ✨"]

if __name__ == "__main__":
main[]
0

Đó là nó

Đọc tốt

Ứng dụng dòng lệnh Python

Gần đây, một kỹ sư cấp dưới tại công ty của tôi được giao nhiệm vụ xây dựng một ứng dụng dòng lệnh và tôi muốn chỉ cho anh ấy…

www. davidfischer. Tên

Nếu bạn biết bất kỳ công cụ Python CLI nào, hãy bình luận trong phần bình luận

Rất thích bài viết này?

Tôi sẵn sàng cho bất kỳ hợp đồng biểu diễn Python/Javascript, vị trí công việc nào hoặc bạn có thể xem trang Fiverr của tôi. https. //www. nămrr. com/oyetoketobi/build- professional-django-website-for-you

Liên hệ với tôi. oyetoketoby80@gmail. com

✉️ Đăng ký Email Blast hàng tuần một lần của CodeBurst, 🐦 Theo dõi CodeBurst trên Twitter, xem 🗺️ Lộ trình dành cho nhà phát triển web năm 2018 và 🕸️ Tìm hiểu về phát triển web Full Stack

GUI tốt nhất cho Python là gì?

10 Thư viện Python tốt nhất cho GUI .
PyQt5
tkinter
PySimpleGUI
Libavg
PyForms
PySide2

Tôi có thể tạo GUI bằng Python không?

Việc tạo giao diện người dùng đồ họa [GUI] đơn giản hoạt động trên nhiều nền tảng có thể phức tạp. Nhưng không nhất thiết phải như vậy. Bạn có thể sử dụng Python và gói PySimpleGUI để tạo giao diện người dùng đẹp mắt mà bạn và người dùng của bạn sẽ thích.

GUI dễ nhất cho Python là gì?

Python Tkinter . Đó là một thư viện GUI Python nhanh và dễ sử dụng, khiến nó trở thành thư viện cần thiết để xây dựng ứng dụng GUI Python.

GUI cho Python là gì?

Dự án GUI của Python, hay còn gọi là khung PyGUI, là một API đơn giản dành cho các nhà phát triển để tạo giao diện người dùng bằng cách sử dụng các phần tử gốc cho các ứng dụng Python . Là một API nhẹ, không cần nhiều mã giữa ứng dụng và nền tảng đích, làm cho nó hiệu quả hơn nhiều khung khác trong danh sách này.

Chủ Đề