Tôi sử dụng mã đơn giản sau đây để phân tích một số đối số; lưu ý rằng một trong số họ là bắt buộc. Thật không may, khi người dùng chạy tập lệnh mà không cung cấp đối số, văn bản sử dụng / trợ giúp được hiển thị không cho biết rằng có một đối số không tùy chọn, điều mà tôi thấy rất khó hiểu. Làm cách nào tôi có thể lấy python để chỉ ra rằng một đối số không phải là tùy chọn?
Đây là mã:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Foo')
parser.add_argument('-i','--input', help='Input file name', required=True)
parser.add_argument('-o','--output', help='Output file name', default="stdout")
args = parser.parse_args()
print ("Input file: %s" % args.input )
print ("Output file: %s" % args.output )
Khi chạy mã ở trên mà không cung cấp đối số được yêu cầu, tôi nhận được kết quả đầu ra sau:
usage: foo.py [-h] -i INPUT [-o OUTPUT]
Foo
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input file name
-o OUTPUT, --output OUTPUT
Output file name
optional arguments
cho các đối số được yêu cầu vẫn gây hiểu nhầm.
-i INPUT
phần không được bao quanh bởi dấu ngoặc vuông, mà sự tinh tế chỉ ra rằng đó thực sự là bắt buộc. Ngoài ra, bạn có thể tự giải thích rằng thông qua cáchelp
param