Có thể yêu cầu đối số argparse
là một trong số ít giá trị đặt trước không?Cho phép các giá trị cụ thể cho đối số Argparse
Cách tiếp cận hiện tại của tôi là kiểm tra đối số theo cách thủ công và nếu đó không phải là một trong các giá trị được phép gọi print_help()
và thoát.
Đây là việc thực hiện hiện tại:
...
parser.add_argument('--val', dest='val', action='store',
help='Special testing value')
args = parser.parse_args(sys.argv[1:])
if args.val not in ['a','b','c']:
parser.print_help()
sys.exit(1)
Nó không phải là điều này đặc biệt khó khăn, nhưng đúng hơn là nó dường như là lộn xộn.
Ồ, bạn đã trả lời câu hỏi này nhanh ... :-P – mgilson
Tôi đã đặt câu hỏi trong IRC, không nhận được phản hồi và đã viết tất cả ở đây. Khi tôi đang đánh bóng câu hỏi, tôi nhận thấy nó trong tài liệu. Vì câu hỏi chưa có trên SO, nó dường như là một ứng cử viên tốt cho câu trả lời tự. – Moshe
Đúng. Và theo [meta] (http://meta.stackexchange.com/questions/2706/posting-and-answering-questions-you-have-already-found-the-answer-to), điều này phù hợp với mục tiêu thiết kế của trang web. Với ý nghĩ đó, +1 cho bạn (hoặc là +2 :-P) – mgilson