bởi Crista Perlton, vào ngày 14 tháng 3 năm 2022 9:16:33 PM
Python thực sự mạnh mẽ và tương đối dễ học - nhưng điều đó không có nghĩa là mọi người chỉ có thể chạy các kịch bản Python của bạn.
Có một chút khoảng cách học tập, ngay cả khi đó chỉ là cách nhập cẩn thận các đối số dòng lệnh. Và khi bạn nhập sai đó, các lỗi có thể khá không thể tha thứ. Hoặc tệ hơn, có một số tác dụng phụ khó chịu.
Đây là nơi giao diện người dùng đồ họa [GUI] xuất hiện. GUI có thể giúp bất cứ ai sử dụng tập lệnh Python của bạn một cách an toàn và tự tin:
- Cho phép người dùng chạy các tập lệnh Python một cách độc lập
- Cung cấp giao diện dành riêng cho công việc để thực thi đầu vào hạn chế
- giới hạn ai có thể làm gì với kịch bản python trong tình huống đã đưa ra
- Cung cấp "Phản hồi trực quan ngay lập tức" [AKA cho bạn biết khi nào bạn đã quên một biểu mẫu cần thiết, ví dụ]
- có nghĩa là trực quan và dễ sử dụng cho bất kỳ ai
- Làm cho công nghệ không thể tiếp cận được có thể truy cập [đặc biệt là đối với Linux]
Tất nhiên, nó rất lý tưởng để có một GUI tùy chỉnh cho các tập lệnh của bạn được xây dựng bởi một chuyên gia như một kỹ sư UX sử dụng khung máy tính để bàn như Tkinter hoặc một ứng dụng web như Django. Nhưng thật không may, điều đó sẽ cực kỳ tốn kém và chậm chạp.
Trong bài viết này, tôi sẽ hướng dẫn bạn qua lý do tại sao bạn cần GUI, những sai lầm để tránh và làm thế nào để tạo một GUI xung quanh các kịch bản Python của bạn.
Hai [không tuyệt vời] các lựa chọn để xây dựng Guis Python
Sử dụng tkinter để tạo GUI
Tkinter là lựa chọn hàng đầu cho người dùng Python tạo GUI. Nó có một thư viện UI đa nền tảng tiêu chuẩn giúp tạo ra GUI dễ dàng hơn nhiều.
Nếu bạn mới tạo GUI, trong Python, các bước cơ bản là:
- Nhập mô -đun Tkinter:
import Tkinter,
0____1 - Tạo cửa sổ chính GUI sẽ là nhà của bạn GUI và các vật dụng của bạn.
- Thêm bất kỳ vật dụng nào mà GUI cần của bạn bao gồm các nút, nhãn, danh sách, v.v.
Điều quan trọng cần lưu ý, tất cả những điều này được thực hiện thông qua mã, Tkinter không phải là người tạo GUI kéo và thả. Có rất nhiều hướng dẫn tuyệt vời ngoài kia để giúp bạn đi đúng hướng nếu đây là một tuyến đường mà bạn muốn đi xuống. Tuy nhiên, tôi đã nghĩ hai lần trước khi đi xuống con đường này.
Nếu không có các kỹ năng UI, Python và Tkinter có sẵn, đó là một cuộc đấu tranh để ghép lại một GUI nửa vời với Tkinter.
Các chuyên gia UI có một sự hiểu biết sâu sắc về những gì nó cần để tạo ra một GUI tốt, mà không có cái nhìn sâu sắc đó, bạn sẽ thấy mình tạo ra một GUI mà bạn thích, không phải là một người dùng cuối của bạn cần. Trên hết, không có kiến thức sâu rộng về tất cả các thư viện Python bạn cần, bạn sẽ tìm thấy phần lớn thời gian của bạn dành cho việc nghiên cứu các mô -đun, thư viện và phụ thuộc. Tất cả các thư viện đó có nghĩa là một mã không đáng tin cậy của mã mới. Chúng tôi nói về việc làm cho tập lệnh hiện tại của bạn lên tới 10 lần kích thước hiện tại của nó.incredible amount of new code. We’re talking about bloating your current script up to 10 times its current size.
Vì họ tham gia như thế nào, hầu hết các đội thấy họ nghiêng về việc tạo ra một cái gì đó đơn giản hơn như một menu dựa trên văn bản. Nhưng đó là xa hoàn hảo quá.
Menu dựa trên văn bản
Nó dễ dàng hơn nhiều so với các menu dựa trên văn bản cho các tập lệnh Python của bạn. Nhưng người ta phải hỏi một câu hỏi triết học: có phải là một menu dựa trên văn bản ngay cả khi đồ họa không?
Tôi đã vật lộn với câu trả lời và đi đến kết luận chao đảo rằng nó thực sự là một GUI nhưng nó đủ gần để được coi là một trong bối cảnh này.
Có nhiều hướng dẫn phác thảo việc tạo ra một menu dựa trên văn bản cho Python. Ngoài ra, bạn có thể sử dụng các bản lề mô-đun tích hợp cung cấp một cơ sở đóng màn hình độc lập và xử lý bàn phím độc lập cho các thiết bị đầu cuối dựa trên văn bản. Nhưng các bước chung để xây dựng một menu dựa trên văn bản xương trần là:
- Sửa đổi tập lệnh của bạn để sử dụng các chức năng khi cần thiết
- Tạo một vòng lặp chương trình với một cái gì đó giống như trong khi
[True]:
print
Tùy chọn hoặc hướng dẫn menu của bạn- Nhắc nhở cho một lựa chọn với một cái gì đó như
choice = input["Select option: "]
- Sử dụng các câu lệnh IF/ELSE để xác định chức năng gọi nào dựa trên đầu vào hoặc thoát
Mặc dù điều này dễ dàng hơn nhiều so với việc sử dụng Tkinter, nhưng nỗ lực đưa vào được phản ánh rõ ràng trong lần giao hàng cuối cùng. Các menu dựa trên văn bản có thể phù hợp với các tiêu chuẩn hiện đại của các tiêu chuẩn hoặc các tiêu chuẩn như các hộp kiểm, menu thả xuống hoặc thậm chí tự động hoàn thành. Các menu dựa trên văn bản chuyển gánh nặng sang người dùng và yêu cầu chúng phải có khả năng kỹ thuật hơn nhiều. Không có hướng dẫn về một cái gì đó như menu thả xuống, rất có thể một số người dùng của bạn đã giành được một cách tự tin trong menu dựa trên văn bản.
Vì vậy, trong khi các menu dựa trên văn bản dễ tạo hơn một chút, họ được cho là không thể khắc phục các vấn đề mà GUI được cho là để giải quyết.
Chạy tập lệnh với UI được tạo tự động
UI được tạo tự động là giải pháp cho các nhóm cần nhanh chóng thiết lập các hạn chế mà không cần phải tạo ra một giao diện.
Otter có thể tự động tạo GUI xung quanh tập lệnh của bạn và thực hiện nó theo hai cách
- Tiêu đề bình luận
- Tính năng mẫu công việc của Otter
GUI tự động tạo rái cá
Nếu bạn đã thực hành tạo các tiêu đề bình luận cho các tập lệnh Python của bạn, việc tạo GUI được tạo tự động là dễ dàng. Otter có thể phân tích và tạo GUI xung quanh các tiêu đề bình luận của bạn. Bạn sẽ muốn tuân theo một vài quy tắc tiêu đề bình luận và nó có thể trở nên khá phức tạp, nhưng bạn không cần phải sử dụng tất cả các tùy chọn tiêu đề nhận xét có sẵn.
Tôi đã tải lên một tập lệnh Python và đặt các tham số và tùy chọn sau:
- Interface_Name: Tên của giao diện để cập nhật
- IP_ADDRESS: Địa chỉ IP mới
- IP_NETMASK: IP Netmask mới
- Mock [Switch]: Cho biết liệu các cuộc gọi restConf có được thực thi không
Trong Otter, bạn cũng có thể tạo ra các hạn chế hơn nữa với một mẫu công việc. Otter cho phép bạn tạo một mẫu hạn chế đầu vào khi chạy tập lệnh và sẽ nhắc lời nhắc khi người dùng đã quên điền vào các trường cần thiết. Các mẫu công việc cho phép bạn xác định lời nhắc biến, hạn chế thời gian và thậm chí cả máy chủ mà một tập lệnh được chỉ định có thể chạy.
Tại sao GUI tự động tạo ra là lựa chọn tốt hơn
Nó thực sự sôi sục đến ba lý do rất đơn giản:
- GUI là tự động - không có thêm thời gian dành cho việc làm GUI bằng tay
- Các kịch bản Python trước đây không thể đối với ai đó, nói, kế toán để chạy hiện có thể chạy được vì họ đã có một GUI đơn giản được thực hiện theo đơn đặt hàng của Otter
- Bất kỳ GUI nào bạn xây dựng sẽ làm mờ tập lệnh của bạn và làm cho nó phức tạp hơn nhiều.
Tạo một GUI cho mình với Tkinter hoặc một menu dựa trên văn bản thêm một thứ khác trên đĩa của bạn, một tài sản khác mà bạn và nhóm của bạn phải duy trì. Ví dụ, hãy nói, bạn tạo một tập lệnh Python để mở hai cổng và đóng hai cổng khác. Sau đó một vài tuần, nhóm của bạn quyết định một cổng thứ ba cần phải được mở. Bất kỳ GUI GUI nào mà nhóm của bạn được tạo cho tập lệnh đó bây giờ phải được chỉnh sửa.
Trên hết, chúng tôi chỉ đề cập đến GUI mà bạn tạo ra mà người dùng người sẽ tương tác. Như đã nói, bất cứ điều gì đáng làm đều đáng tự động [tôi có thể đã đánh giá sai nó.] Nhưng điểm đứng đó tự động hóa là một phần cốt lõi của bất kỳ quy trình nhóm hiện đại nào. Hỗ trợ hai mô hình sử dụng [tương tác và tự động] có nghĩa là nhiều mã hơn và nhiều hơn mà bạn không cần.
Vào cuối ngày, bạn làm công việc ít hơn và có UI hữu ích hơn bằng cách tự động hóa việc tạo GUI.
Tự động hóa là chìa khóa
GUI được thực hiện bởi Otter là tự động và dễ dàng được tùy chỉnh. Các kịch bản Python trước đây không thể đối với một người nào đó trong kế toán để chạy giờ đây có thể chạy được vì họ đã theo đơn đặt hàng GUI đơn giản.
Otter không chỉ để người dùng Python không phải là Exchert của bạn chạy tập lệnh; Nó cũng cho phép những người phụ trách ngủ ngon hơn vào ban đêm bằng cách chỉ nhắm mục tiêu các máy chủ cụ thể cho một mẫu công việc hoặc công việc cụ thể.
Sử dụng và tối ưu hóa Python tại tổ chức của bạn là một câu đố phức tạp để giải quyết và GUI, chỉ là khởi đầu. Để tìm hiểu thêm, hãy đăng ký để nhận Python miễn phí của bạn trong hướng dẫn của Enterprise!