Tôi không chắc chắn thông số của được sử dụng cho. Tôi thấy nó được sử dụng xung quanh, nhưng tôi không thể nhìn thấy nó.Python optparse metavar
Ai đó có thể nói rõ cho tôi không? Cảm ơn.
Tôi không chắc chắn thông số của được sử dụng cho. Tôi thấy nó được sử dụng xung quanh, nhưng tôi không thể nhìn thấy nó.Python optparse metavar
Ai đó có thể nói rõ cho tôi không? Cảm ơn.
Như @Guillaume nói, nó được sử dụng để tạo ra giúp đỡ. Nếu bạn muốn có một tùy chọn có tham số, chẳng hạn như tên tệp, bạn có thể thêm tham số metavar
vào cuộc gọi add_option
để tên/bộ mô tả đối số ưa thích của bạn được xuất trong thông báo trợ giúp. Từ the current module documentation:
usage = "usage: %prog [options] arg1 arg2"
parser = OptionParser(usage=usage)
parser.add_option("-f", "--filename",
metavar="FILE", help="write output to FILE"),
sẽ tạo ra sự giúp đỡ như thế này:
usage: <yourscript> [options] arg1 arg2
options:
-f FILE, --filename=FILE
Các "FILE" sau khi "-f" và "--filename" xuất phát từ metavar.
metavar dường như được sử dụng để tạo sự giúp đỡ: http://www.python.org/doc/2.5.2/lib/optparse-generating-help.html
metavar
là biến được sử dụng để in trong màn hình sau tùy chọn. Thường được sử dụng cho mục nhập đề xuất sau khi tùy chọn là FILE
hoặc INT
hoặc STRING
cho người dùng. Nếu không có metavar
, optparse
sẽ in dest
giá trị sau khi bạn đã thêm tùy chọn.
Có một cách sử dụng có ý nghĩa khác của metavar nơi người ta muốn sử dụng 'dest' làm thẻ tra cứu đối số nhưng che dấu thông báo trợ giúp bằng metavar. (Ví dụ: đôi khi tiện dụng khi sử dụng subparsers). (Như đã nêu trong chú thích của S.Lott).
parser.add_argument(
'my_fancy_tag',
help='Specify destination',
metavar='helpful_message'
)
hoặc tương đương
parser.add_argument(
dest='my_fancy_tag',
help='Specify destination',
metavar='helpful_message'
)
Trợ giúp sẽ hiển thị các metavar:
./parse.py -h usage: parser [-h] destination
positional arguments:
helpful_message Specify destination
nhưng dest sẽ lưu trữ các fancy_tag trong Namespace:
./parse.py test
Namespace(my_fancy_tag='test')
metavar = "tên hữu ích" tùy chỉnh thông báo trợ giúp bằng tên hữu ích; khác với dest = "name". The dest = "name" có thể không hữu ích cho người dùng. –