Tiêu đề khá nhiều nói lên tất cả. Nếu tôi có nargs lớn hơn 1, có cách nào tôi có thể thiết lập các hạn chế (chẳng hạn như lựa chọn/loại) trên args cá nhân phân tích cú pháp?Loại argparse Python và hạn chế lựa chọn với nargs> 1
Đây là một số mã ví dụ:
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--credits', nargs=2,
help='number of credits required for a subject')
Đối với đối số -c tôi cần phải xác định một đối tượng và có bao nhiêu tín chỉ được yêu cầu. Đối tượng nên được giới hạn trong danh sách các đối tượng được xác định trước và số lượng tín dụng bắt buộc phải là một phao.
Tôi có thể làm điều này với một subparser, nhưng vì nó là điều này đã là một phần của một lệnh phụ nên tôi không thực sự muốn mọi thứ trở nên phức tạp hơn.
+1 Tốt, tôi đã tự hỏi liệu điều này có hiệu quả không. –
Cuối cùng đã có xung quanh để thực hiện điều này, và con người giải pháp của bạn là tốt. Ước gì tôi có thể cung cấp cho bạn nhiều upvotes hơn! Cảm ơn! –
Lưu ý cho hậu thế: thêm 'metavar = (" SUBJECT "," CREDITS ")' vào lệnh 'add_argument' sẽ giúp hiển thị' --credits SUBJECT CREDITS' thay vì '--credits CREDITS CREDITS'. – Dougal