Hãy mã chứ không phải tiêu chuẩn sau đây:Python optparse, giá trị mặc định, và các tùy chọn rõ ràng
from optparse import OptionParser
opts = OptionParser()
opts.add_option('-f', action="store_true")
opts.add_option("-x", dest="x", type="int", default=1)
options, args = opts.parse_args()
Giả sử rằng -x
và -f
loại trừ lẫn nhau: khi -x
và -f
đều có mặt một cách rõ ràng, một lỗi nên được báo cáo.
Làm cách nào để phát hiện xem -x
có hiển thị rõ ràng không? Ngay cả khi không, options
liệt kê giá trị mặc định.
Có một cách để tránh đặt giá trị mặc định mà tôi không muốn làm vì --help
in giá trị mặc định một cách độc đáo.
Một cách khác sẽ được kiểm tra sys.argv
cho trường hợp của -x
đó là một chút vụng về, quá, nếu có nhiều hơn một tên cho -x
(có nghĩa là, một --long-name) và có nhiều hơn một cặp loại trừ lẫn nhau tùy chọn.
Nó có một giải pháp thanh lịch cho điều này?