Chạy tập lệnh python với tệp đầu vào
Chạy tập lệnh Python từ dòng lệnh có thể là một cách tuyệt vời để tự động hóa quy trình làm việc của bạn. Để làm điều này, bạn sẽ cần học cách chuyển đối số từ dòng lệnh sang tập lệnh Python. Điều này sẽ cho phép bạn tạo các tập lệnh có thể sử dụng lại, có thể cập nhật hoặc chạy cho các tình huống hoặc dữ liệu mới bằng cách chỉ chuyển vào một vài đối số mới. Trong Python, việc lấy đối số từ dòng lệnh thành tập lệnh khá dễ dàng Show Trước khi bạn có thể truyền đối số cho tập lệnh, bạn cần hiểu cách chạy tập lệnh Python từ dòng lệnh. Thực hiện theo hướng dẫn này để được hướng dẫn từng bước Trong Python, các đối số được chuyển đến một tập lệnh từ dòng lệnh bằng gói 6. Thành viên 7 của 6 ( 9) sẽ lưu trữ tất cả thông tin trong mục nhập dòng lệnh và có thể được truy cập bên trong tập lệnh Python. Mô-đun 0 của Python cũng có thể được sử dụng để phân tích các đối số được đặt tênHãy đi qua một số ví dụ Tập lệnh Python để đọc đối số dòng lệnhĐể bắt đầu, chúng tôi sẽ tạo một tập lệnh in ra toàn bộ câu lệnh dòng lệnh. Sau đó, chúng ta có thể kiểm tra cách các đối số được truyền và tìm hiểu cách kết hợp chúng vào mã của chúng ta Trong tập lệnh Python, chúng tôi sẽ nhập 6, sau đó chỉ cần in ra toàn bộ giá trị của 9. Kịch bản trông như thế này
Lưu tập lệnh này dưới dạng 3. Bây giờ chúng tôi sẽ gọi tập lệnh này từ dòng lệnh (làm theo hướng dẫn này nếu bạn cần hướng dẫn), như sau. Đảm bảo thư mục làm việc của bạn là cùng thư mục chứa 3Bạn sẽ nhận thấy khi tôi gọi tập lệnh mà tôi đã bao gồm ba đối số được phân tách bằng dấu cách (arg1, arg2 và arg3). Đây chỉ là để minh họa cách 6 lưu trữ và hiển thị các đối số. Chúng không có ý nghĩa gìĐây là cuộc gọi của tôi tới 3 từ dòng lệnh. Dòng mã thứ hai hiển thị đầu ra
Bạn có thể thấy rằng 9 đã lưu trữ các đối số dưới dạng chuỗi trong danh sách. Hãy thử lại điều này với các loại dữ liệu khác nhau (float, int và string) để xem chúng được lưu trữ như thế nàoĐây là lệnh gọi và đầu ra của tập lệnh
Như bạn có thể thấy, số float và số nguyên cũng được lưu trữ dưới dạng chuỗi bởi 9Truy cập đối số dòng lệnh trong tập lệnh PythonBây giờ chúng ta đã có một số thông tin cơ bản về cách truy cập các đối số dòng lệnh và cách chúng được lưu trữ, chúng ta có thể bắt đầu phân tích cú pháp các đối số đó để sử dụng trong tập lệnh của mình Trong ví dụ đơn giản này, chúng tôi sẽ lặp qua từng đối số (ngoại trừ đối số đầu tiên, là tên tập lệnh) và in nó ra bàn điều khiển Hãy bắt đầu bằng cách cập nhật tập lệnh Python, 3. Chúng tôi sẽ thêm một vòng lặp để lặp qua ba đối số cuối cùng trong 9. Đối với mỗi phần tử, chúng tôi sẽ in ra chỉ mục (hoặc vị trí) và giá trị của nóĐây là kịch bản mới. Lưu ý rằng chúng tôi lặp qua một 81 bắt đầu từ 1. Điều này bỏ qua đối số đầu tiên, đó là tên tập lệnh 8Chạy tập lệnh bằng cách sử dụng nhóm đối số cuối cùng. Như thế này 0Bạn sẽ nhận được đầu ra trông như thế này 1Điều đó cung cấp cho bạn kiến thức cơ bản về việc chuyển đối số dòng lệnh sang tập lệnh Python. Từ đây, có thể bạn sẽ muốn thực hiện một số kiểm tra logic để đảm bảo các giá trị đầu vào là loại phù hợp và nằm trong phạm vi hoặc tập hợp giá trị chính xác Cải thiện phân tích đối số dòng lệnh PythonCác ví dụ trên cung cấp các ví dụ đơn giản để giúp bạn bắt đầu. Tuy nhiên, nếu bạn đang tìm kiếm thứ gì đó nâng cao hơn cho phép người dùng chỉ định các đối số bằng từ khóa và in thông báo trợ giúp, chúng tôi sẽ cần nâng cao hơn một chút Để truy xuất các đối số được đặt tên từ dòng lệnh, chúng tôi sẽ sử dụng mô-đun 82 của Python. 0 được tích hợp vào Python cơ sở nên bạn không cần cài đặt nóHãy bắt đầu một tập lệnh mới sử dụng cả 6 và 0 để phân tích các đối số dòng lệnh. Tập lệnh sẽ có khả năng có bốn đối số được đặt tên, 'trợ giúp', 'đầu vào', 'người dùng' và 'đầu ra'. Từ dòng lệnh, các đối số này có thể được chỉ định bằng một dấu gạch ngang và chữ cái đầu tiên ( 86) hoặc một dấu gạch ngang kép và tên đầy đủ của đối số ( 87). Đặt tên cho tập lệnh này là 88Kịch bản này sẽ bao gồm hai phần. Phần đầu tiên là một hàm ( 89) sẽ lấy các đối số ( 7) làm đầu vào. Phần thứ hai là một câu lệnh if sẽ nhận ra khi tập lệnh được gọi và chuyển các đối số từ 9 sang 89Trong phần thân của 89, chúng tôi sẽ xác định các biến cho đầu vào, người dùng và đầu ra. Chúng tôi cũng sẽ xác định một biến cho 'trợ giúp' và đặt giá trị cho nó. Biến 'trợ giúp' sẽ in ra nếu xảy ra lỗi hoặc nếu người dùng chỉ định 86 hoặc 87. Bây giờ, hãy gọi 06 và truyền cho nó các đối số từ dòng lệnh, chứ không phải tên tập lệnh (như thế này. 07). Trong cuộc gọi đến 0 cũng là nơi chúng tôi chỉ định cả tên ngắn và tên dài. Dấu hai chấm (. ) theo sau 09, 10 và 11 cho biết rằng giá trị là bắt buộc đối với tham số đó. Các dấu bằng (=) theo sau 12, 13 và 14 cho biết điều tương tựTôi đã đặt cuộc gọi tới 06 thành một câu lệnh 16 17 để tập lệnh sẽ in thông báo trợ giúp và sau đó thoát ra nếu có bất kỳ sự cố nào. Đây là những gì kịch bản trông giống như cho đến nay 8Trong phần cuối cùng của tập lệnh, chúng tôi sẽ phân tích cú pháp các đối số dựa trên tên hoặc từ khóa ngắn hoặc dài của chúng và in ra các giá trị cuối cùng Để bắt đầu, lặp qua tất cả các phần tử của 18. Điều này sẽ trả về tên đối số ( 19) và giá trị ( 80). Sau đó, sử dụng câu lệnh 81, 82, 83 để xác định biến nào sẽ gán đối số. Sau khi tất cả các đối số đã được xử lý, hãy in ra tên đối số và giá trị của nóKịch bản cuối cùng sẽ trông giống như thế này 5Hãy sử dụng tập lệnh này theo một số cách khác nhau để xem điều gì sẽ xảy ra Trước tiên, hãy nhận thông báo trợ giúp bằng cách sử dụng cả tên 86 ngắn và tên dài 87 8 9 0 9Như mong đợi, cả hai ví dụ đều dẫn đến việc in thông báo trợ giúp ra bảng điều khiển Tiếp theo, hãy xem điều gì sẽ xảy ra nếu chúng ta chỉ định một tên đối số không hợp lệ, 86 2____59Điều này gây ra lỗi, dẫn đến việc in lại thông báo trợ giúp ra bảng điều khiển Bây giờ, hãy nhập các đối số chính xác 4 5Các đối số được gán cho các biến thích hợp Bước tiếp theoBài viết này cung cấp cho bạn kiến thức cơ bản về cách truyền và phân tích đối số dòng lệnh bằng Python. Để triển khai chính thức, bạn vẫn còn nhiều việc phải làm. Điều quan trọng là phải kiểm tra các loại và giá trị của các đối số đầu vào để đảm bảo chúng hợp lệ. Bạn cũng sẽ muốn đảm bảo in ra các thông báo hữu ích cho người dùng khi xảy ra lỗi hoặc ngoại lệ khác. Nếu bạn chỉ triển khai tính năng này cho mục đích sử dụng cá nhân, thì những tính năng đó không quá quan trọng. Tôi nhận thấy rằng việc viết các tập lệnh Python để chạy từ dòng lệnh đã giúp tôi tự động hóa nhiều tác vụ và phân tích của mình, đồng thời tiết kiệm cho tôi rất nhiều thời gian TÌM HIỂU GIS TỪ CÁC CHUYÊN GIA TRONG CÔNG NGHIỆP Cho dù bạn đang muốn nâng cao kỹ năng GIS của mình hay chỉ mới bắt đầu với GIS, chúng tôi đều có khóa học dành cho bạn. Chúng tôi liên tục tạo và quản lý nhiều khóa học hơn để giúp bạn cải thiện kỹ năng không gian địa lý của mình QGIS cho người mới bắt đầuViễn thám với QGISQGIS Python Scripting với PyQGISNhấn vào đây để xem tất cả các khóa học của chúng tôi Tất cả các khóa học của chúng tôi đều do các chuyên gia trong ngành giảng dạy và bao gồm video hướng dẫn từng bước để bạn không bị lạc trong các video và bài đăng trên blog trên YouTube, dữ liệu có thể tải xuống để bạn có thể sao chép mọi thứ mà người hướng dẫn làm và mã bạn có thể sao chép để bạn |