Xin chào các chuyên viên máy tính và chào mừng bạn đến với bài viết này, chúng tôi sẽ đề cập đến python getopt. Cùng với đó, để hiểu rõ hơn về tổng thể, chúng ta sẽ xem xét cú pháp và tham số của nó. Sau đó, chúng ta sẽ xem một vài ví dụ để hiểu chủ đề tốt hơn. Nhưng trước tiên, chúng ta hãy cố gắng hiểu sơ lược về hàm thông qua định nghĩa của nó
Giống như NumPy và Matplotlib, getopt cũng là một module của python. Mô-đun này rất giống với chức năng getopt của ngôn ngữ C. Chức năng này được sử dụng để phân tích các tham số dòng lệnh. Chức năng chính của hàm getopt trong Python là phân tích các tùy chọn dòng lệnh và danh sách tham số. Khi chúng ta tiếp tục trong bài viết này, mọi thứ sẽ trở nên rõ ràng hơn rất nhiều. Trong phần tiếp theo, chúng ta sẽ xem xét cú pháp
nội dung
cú pháp
getopt.getopt[]
Đây là cú pháp chung cho chức năng của chúng tôi. Bây giờ chúng ta hãy xem xét các tham số khác nhau liên quan đến nó
Thông số
1. tranh luận
Tham số này đại diện cho loại đối số được truyền qua
2. tùy chọn
Tham số này đại diện cho chuỗi ký tự tùy chọn mà tập lệnh muốn nhận dạng
Thí dụ
import getopt print getopt.getopt[['-a', '-bval', '-c', 'val'], 'ab:c:']
3. Long_options
Tham số này đại diện cho một danh sách các chuỗi có tên tùy chọn dài
Thí dụ
import getopt print getopt.getopt[[ '--noarg', '--witharg', 'val', '--witharg2=another' ], '', [ 'noarg', 'witharg=', 'witharg2=' ]]
Loại trả lại
Khi chạy xong chương trình trả về giá trị gồm 2 phần tử. Loại đầu tiên là danh sách các cặp. Trong khi phần thứ hai là danh sách các đối số chương trình còn lại sau khi tùy chọn bị xóa
Làm cách nào để cài đặt Python getopt?
Không cần cài đặt mô-đun getopt bên ngoài. Đó là một mô-đun sẵn có được tích hợp sẵn trong Python cùng với nó. Cũng giống như bất kỳ mô-đun sẵn có nào khác, bạn có thể sử dụng nó bằng cách –
import getopt
Các ví dụ về getopt trong Python
Bây giờ chúng ta đã hoàn thành tất cả phần lý thuyết. Chúng tôi đã trình bày chi tiết về cú pháp và tham số của nó. Đã đến lúc thảo luận về các ví dụ khác nhau sẽ giúp hiểu rõ hơn về chủ đề này. Chúng ta hãy bắt đầu với một ví dụ ở cấp độ cơ bản và khi chúng ta tiếp tục, chúng ta sẽ tăng dần mức độ ví dụ
1. Tên quốc gia
import sys import getopt def country_name[]: state_name = None country_name = None argv = sys.argv[1:] try: opts, args = getopt.getopt[argv, "f:l:"] except: print["Error"] for opt, arg in opts: if opt in ['-f']: state_name = arg elif opt in ['-l']: country_name = arg print["{0}{1}".format[state_name, country_name]] country_name[]
Từ ví dụ cụ thể này, mục tiêu của chúng tôi là in ra trạng thái và quốc gia bằng cách lấy đầu vào từ người dùng trong dòng lệnh. Để làm như vậy, trước tiên, chúng ta cần nhập 2 mô-đun là sys và getopt. Sau này, tôi đã định nghĩa một hàm và đặt tên nó là tên quốc gia. Sau này, chúng tôi đã sử dụng vòng lặp For và câu lệnh in để có được đầu ra mong muốn. Trong trường hợp này, nếu bạn không nhập các giá trị trong thiết bị đầu cuối, nó sẽ trả về Không Không ở đầu ra
2. Ngày và tháng
import sys import getopt def date_month[]: start_date = None start_month = None argv = sys.argv[1:] try: opts, args = getopt.getopt[argv, "s:e:", ["start_date=", "start_month="]] except getopt.GetoptError as err: print[err] for opt, arg in opts: if opt in ["-s", "--start_date"]: start_date = arg elif opt in ["-e", "--start_month"]: start_month = arg print['start_date: {}'.format[start_date]] print['start_month: {}'.format[start_month]] date_month[]
Một ví dụ tương tự về những gì chúng ta đã thảo luận ở trên. Mục tiêu của hàm này lập trình là in ra ngày, tháng. Toàn bộ quy trình tương tự như những gì chúng tôi đã làm theo trong ví dụ đầu tiên
Tùy chọn dài getopt của Python
Tùy chọn dài là tập hợp các đối số được sử dụng ở định dạng '–option='. Các tùy chọn này thường là đối số tùy chọn. Để sử dụng các tùy chọn dài, bạn phải chỉ định một chuỗi trống trong tham số getopt[]. Điều này buộc mã chỉ chấp nhận các tùy chọn dài
mã [kiểm tra. py]
import sys import getopt argv = sys.argv[1:] try: opts, args = getopt.getopt[argv, "", ["option="]] except getopt.GetoptError as err: print[err] for opt, arg in opts: print[opt, arg]
Phần cuối
python .\test.py --option=hello
đầu ra
________số 8_______
getopt Nhiều đối số
Cụ thể, hàm này nhận 3 đối số. Đối số đầu tiên là chuỗi các đối số sẽ được phân tích cú pháp. Tiếp theo, đối số thứ hai nhận là chuỗi định nghĩa tùy chọn cho tùy chọn một ký tự. Sau đó, đối số thứ 3 lấy tên tùy chọn dài. Các tùy chọn loại dài có thể không chỉ là một ký tự đơn lẻ. Nếu tên tùy chọn dài yêu cầu một đối số, thì tên của nó phải có hậu tố là “=. hậu tố”
Sự khác biệt giữa getopt và argparse
Trong phần này, chúng ta sẽ thảo luận về sự khác biệt cơ bản giữa 2 mô-đun Python này. Cả hai mô-đun Python đều được sử dụng để phân tích đối số dòng lệnh. Như chúng ta đã thảo luận, getopt một cách chi tiết, bây giờ chúng ta hãy cố gắng hiểu sơ qua về argparse. Như đã thảo luận trước đó, cả hai mô-đun đều có chức năng giống nhau. Nhưng nó khuyến nghị sử dụng qua mô-đun getopt. Lý do là nó ít phức tạp hơn. Ngoài ra, nó yêu cầu ít dòng mã hơn để thực thi cùng một chương trình khi so sánh với getopt
cũng đọc
- 8 lựa chọn nghề nghiệp tốt nhất với Python để kiếm được nhiều tiền
- Bản đồ Python Chức năng Giải thích và Ví dụ
- Các cách để đạt được nhiều hàm tạo trong Python
- Mô-đun dateutil Python. Giải thích và ví dụ
Phần kết luận
Bài viết này bao gồm Python getopt. Bên cạnh đó, chúng tôi cũng đã xem xét cú pháp và tham số của nó. Để hiểu rõ hơn, chúng tôi đã xem xét một vài ví dụ. Chúng tôi đã thay đổi cú pháp và xem kết quả cho từng trường hợp. Cuối cùng, chúng ta có thể kết luận rằng Python getopt là một chức năng mà công việc chính là phân tích cú pháp tùy chọn dòng lệnh
Tôi hy vọng bài viết này có thể xóa tan mọi nghi ngờ. Nhưng trong trường hợp bạn có bất kỳ câu hỏi nào chưa được giải quyết, vui lòng viết chúng bên dưới trong phần bình luận. Đọc xong cái này;