Làm cách nào để chạy ứng dụng bảng điều khiển python?
Với giàn giáo và nhấp chuột trong Python, bạn có thể nâng cấp ngay cả một tiện ích đơn giản thành một công cụ giao diện dòng lệnh chính thức Qua Ngày 19 tháng 7 năm 2022 . . %t phút đọc Đăng ký hoặc Đăng nhập để thích Hình ảnh của Mã nguồn mở. com Tôi đã viết, sử dụng và thấy rất nhiều kịch bản lỏng lẻo trong sự nghiệp của mình. Họ bắt đầu với ai đó cần bán tự động hóa một số nhiệm vụ. Sau một thời gian, chúng phát triển. Họ có thể đổi chủ nhiều lần trong đời. Tôi thường mong muốn có cảm giác giống như công cụ dòng lệnh hơn trong các tập lệnh đó. Nhưng thực sự khó đến mức nào để nâng mức chất lượng từ một tập lệnh dùng một lần lên một công cụ phù hợp? Đoạn đầu đàiTrong bài viết này, tôi bắt đầu với một đoạn mã Python nhỏ. Tôi sẽ thả nó vào một mô-đun 0 để chấp nhận các đối số dòng lệnh
Thêm tài nguyên Python IDE là gì? bảng ăn gian. Trăn 3. 7 cho người mới bắt đầu Khung GUI Python hàng đầu Tải xuống. 7 thư viện PyPI thiết yếu Nhà phát triển mũ đỏ Bài viết Python mới nhất Tất cả các mẫu mã không nội tuyến trong bài viết này đề cập đến một phiên bản mã cụ thể mà bạn có thể tìm thấy tại https. // codeberg. org/ofosos/máy quay. Mỗi cam kết trong repo đó mô tả một số bước có ý nghĩa trong quá trình viết bài hướng dẫn này Đoạn mã này thực hiện một vài điều
Ví dụ, cái này khá nhỏ, nhưng nó cho bạn ý tưởng về quy trình Tạo một ứng dụng với pyscaffoldTrước tiên, bạn cần cài đặt các mô-đun Python 0 và 6
Sau khi cài đặt 8, rồi thực hiện lệnh sau
Pyscaffold đã ghi đè lên 9 của tôi, vì vậy hãy khôi phục nó từ Git
Pyscaffold đã thiết lập một dự án mẫu hoàn chỉnh trong hệ thống phân cấp tài liệu mà tôi sẽ không đề cập ở đây nhưng bạn có thể khám phá nó sau. Bên cạnh đó, Pyscaffold cũng có thể cung cấp cho bạn các mẫu tích hợp liên tục (CI) trong dự án của bạn
Hãy xem thư mục tests và chạy lệnh 6 trong thư mục dự án. Nó báo lỗi ngay. Cơ sở hạ tầng đóng gói không thể tìm thấy gói hàng của bạnBây giờ hãy tạo thẻ Git (ví dụ: 2) mà công cụ nhận dạng là phiên bản có thể cài đặt. Trước khi thực hiện các thay đổi, hãy xem qua 0 được tạo tự động và chỉnh sửa nó cho phù hợp với trường hợp sử dụng của bạn. Đối với ví dụ này, bạn có thể điều chỉnh 4 và các mô tả dự án. Thêm những thay đổi đó vào khu vực tổ chức của Git, tôi phải cam kết chúng với hook pre-commit bị vô hiệu hóa. Mặt khác, tôi sẽ gặp lỗi vì flake8, trình kiểm tra kiểu Python, phàn nàn về kiểu tệ hại
Sẽ thật tuyệt nếu có một điểm vào tập lệnh này mà người dùng có thể gọi từ dòng lệnh. Ngay bây giờ, bạn chỉ có thể chạy nó bằng cách tìm tệp 5 và thực hiện thủ công. May mắn thay, cơ sở hạ tầng đóng gói của Python có một cách "đóng hộp" tốt để thực hiện thay đổi cấu hình dễ dàng này. Thêm phần sau vào phần 6 của 0 của bạn
Thay đổi này tạo ra một lệnh trình bao có tên là 8, bạn có thể sử dụng lệnh này để gọi tập lệnh rotoscope. Khi bạn cài đặt rotoscope với 9, bạn có thể sử dụng lệnh 8đó là. Bạn có tất cả thiết lập đóng gói, thử nghiệm và tài liệu miễn phí từ Pyscaffold. Bạn cũng có một móc nối trước để giữ cho bạn (hầu hết) trung thực công cụ CLINgay bây giờ, có những giá trị được mã hóa cứng vào tập lệnh sẽ thuận tiện hơn dưới dạng lệnh. Chẳng hạn, hằng số 1 sẽ tốt hơn khi là một tham số dòng lệnhĐầu tiên, nhập thư viện nhấp chuột. Chú thích phương thức 2 bằng chú thích lệnh do Click cung cấp và thêm một đối số mà Click chuyển đến hàm 8. Nhấp chuột cung cấp một bộ trình xác thực, vì vậy hãy thêm trình xác thực đường dẫn vào đối số. Click cũng thuận tiện sử dụng chuỗi tại đây của hàm như một phần của tài liệu dòng lệnh. Vì vậy, bạn kết thúc với chữ ký phương thức sau
Phần chính gọi 2, hiện là lệnh Nhấp chuột. Nó không cần truyền bất kỳ tham số nàoCác tùy chọn cũng có thể được điền tự động bởi các biến môi trường. Chẳng hạn, thay đổi hằng số 2 thành một tùy chọn
Trình xác thực đường dẫn tương tự được áp dụng lại. Lần này, hãy để Click điền vào biến môi trường, mặc định là giá trị của hằng số cũ nếu môi trường không cung cấp gì Nhấp chuột có thể làm nhiều thứ hơn nữa. Nó có đầu ra bảng điều khiển màu, lời nhắc và tiểu ban cho phép bạn xây dựng các công cụ CLI phức tạp. Duyệt qua tài liệu về Nhấp chuột sẽ tiết lộ thêm sức mạnh của nó Bây giờ thêm một số thử nghiệm vào hỗn hợp thử nghiệmClick có một số lời khuyên về việc chạy thử nghiệm từ đầu đến cuối bằng trình chạy CLI. Bạn có thể sử dụng điều này để thực hiện một bài kiểm tra hoàn chỉnh (trong dự án mẫu, các bài kiểm tra nằm trong thư mục 6. )Bài kiểm tra nằm trong một phương thức của lớp kiểm tra. Hầu hết các quy ước tuân theo rất chặt chẽ những gì tôi sẽ sử dụng trong bất kỳ dự án Python nào khác, nhưng có một số chi tiết cụ thể vì kính quay sử dụng 0. Trong phương pháp 8, tôi tạo một 9. Thử nghiệm sử dụng điều này để chạy lệnh trong một hệ thống tệp bị cô lập. Sau đó, thử nghiệm tạo các thư mục 0 và 1 và một tệp 2 giả trong hệ thống tệp bị cô lập. Sau đó, nó gọi CliRunner giống như bạn gọi một ứng dụng dòng lệnh. Sau khi quá trình chạy hoàn tất, thử nghiệm sẽ kiểm tra hệ thống tệp bị cô lập và xác minh rằng 0 trống và 1 chứa hai tệp (liên kết mới nhất và tệp lưu trữ. )
Để thực hiện các thử nghiệm này trên bảng điều khiển của tôi, hãy chạy 6 trong thư mục gốc của dự ánTrong quá trình thực hiện các bài kiểm tra, tôi đã tìm thấy một lỗi trong mã của mình. Khi tôi thực hiện chuyển đổi Nhấp chuột, rotoscope chỉ hủy liên kết tệp mới nhất, cho dù tệp đó có tồn tại hay không. Các thử nghiệm bắt đầu với một hệ thống tệp mới (không phải thư mục nhà của tôi) và nhanh chóng thất bại. Tôi có thể ngăn chặn loại lỗi này bằng cách chạy trong một môi trường thử nghiệm tự động và biệt lập. Điều đó sẽ tránh được rất nhiều vấn đề "nó hoạt động trên máy của tôi" Giàn giáo và mô-đunĐiều này hoàn thành chuyến tham quan của chúng tôi về những điều nâng cao mà bạn có thể làm với 0. Có nhiều khả năng để nâng cấp một tập lệnh Python thông thường và thậm chí biến các tiện ích đơn giản của bạn thành các công cụ CLI chính thức 8Đọc gì tiếp theo Thẻ con trăn lập trình Mark Meyer Mark là kiến trúc sư CNTT cho MaibornWolff ở Hamburg, Đức, làm việc trong bộ phận DevOps và Cloud Native. Tại nơi làm việc, anh ấy cố gắng đóng góp lại cho nguồn mở bất cứ khi nào có thể. Anh ấy cũng phù hợp với một số công việc nguồn mở, khi không phải làm công việc hàng ngày của mình. Trong số những thứ khác, anh ấy quan tâm đến tài liệu và quy trình làm việc của tài liệu. Mark là giám khảo bia được BJCP Certified và sở hữu một chiếc máy ảnh |