Docopt phân tích cú pháp chuỗi tài liệu, trong khi argparse xây dựng phân tích cú pháp của nó bằng cách tạo một đối tượng đối tượng và thêm hành vi cho nó bằng các cuộc gọi hàm.
Ví dụ cho argparse:
parser = argparse.ArgumentParser()
parser.add_argument("operation", help="mathematical operation that will be performed",
choices=['add', 'subtract', 'multiply', 'divide'])
parser.add_argument("num1", help="the first number", type=int)
parser.add_argument("num2", help="the second number", type=int)
args = parser.parse_args()
Ví dụ cho docopt:
"""Calculator using docopt
Usage:
calc_docopt.py <operation> <num1> <num2>
calc_docopt.py (-h | --help)
Arguments:
<operation> Math Operation
<num1> First Number
<num2> Second Number
Options:
-h, --help Show this screen.
"""
from docopt import docopt
if __name__ == '__main__':
arguments = docopt(__doc__, version='Calculator with docopt')
print(arguments)
Note, docopt sử dụng Usage:
và Options:
phần cho phân tích cú pháp. Ở đây Arguments:
chỉ được cung cấp để thuận tiện cho người dùng cuối.
'argparse' nằm trong gói Python mặc định trong khi' docopt' là một mô-đun riêng biệt. –