Python vượt qua mảng làm đối số dòng lệnh

Mô-đun

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 giúp dễ dàng viết các giao diện dòng lệnh thân thiện với người dùng. Chương trình xác định những đối số mà nó yêu cầu và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 sẽ tìm ra cách phân tích những đối số đó ra khỏi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
04. Mô-đun
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 cũng tự động tạo các thông báo trợ giúp và sử dụng. Mô-đun cũng sẽ báo lỗi khi người dùng cung cấp cho chương trình các đối số không hợp lệ

Chức năng cốt lõi¶

Sự hỗ trợ của mô-đun

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 cho các giao diện dòng lệnh được xây dựng xung quanh một phiên bản của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
07. Nó là nơi chứa các thông số kỹ thuật đối số và có các tùy chọn áp dụng toàn bộ trình phân tích cú pháp

parser = argparse.ArgumentParser[
                    prog = 'ProgramName',
                    description = 'What the program does',
                    epilog = 'Text at the bottom of help']

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
08 đính kèm các thông số kỹ thuật đối số riêng lẻ vào trình phân tích cú pháp. Nó hỗ trợ các đối số vị trí, các tùy chọn chấp nhận giá trị và cờ bật/tắt

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
09 chạy trình phân tích cú pháp và đặt dữ liệu được trích xuất vào một đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
10

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
1

Liên kết nhanh cho add_argument[]¶

Tên

Sự mô tả

giá trị

hoạt động

Chỉ định cách xử lý đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
11,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
12,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
13,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
14,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
15,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
16,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
17,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
18

lựa chọn

Giới hạn các giá trị cho một tập hợp các lựa chọn cụ thể

Phiên bản

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
19,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
20 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
21

hăng sô

Lưu trữ một giá trị không đổi

mặc định

Giá trị mặc định được sử dụng khi không cung cấp đối số

Mặc định là

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
22

định mệnh

Chỉ định tên thuộc tính được sử dụng trong không gian tên kết quả

Cứu giúp

Thông báo trợ giúp cho một đối số

metavar

Tên hiển thị thay thế cho đối số như được hiển thị trong phần trợ giúp

cằn nhằn

Số lần đối số có thể được sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
23,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
24,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
25,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
26, hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
27

yêu cầu

Cho biết đối số là bắt buộc hay tùy chọn

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
28 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
29

loại hình

Tự động chuyển đổi một đối số thành loại đã cho

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
23,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
31,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
32 hoặc chức năng có thể gọi được

Thí dụ¶

Đoạn mã sau là một chương trình Python lấy danh sách các số nguyên và tạo ra tổng hoặc giá trị lớn nhất

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
4

Giả sử mã Python ở trên được lưu vào một tệp có tên là

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
33, nó có thể chạy ở dòng lệnh và nó cung cấp các thông báo trợ giúp hữu ích

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
6

Khi chạy với các đối số thích hợp, nó sẽ in tổng hoặc giá trị lớn nhất của các số nguyên dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
7

Nếu đối số không hợp lệ được truyền vào, một lỗi sẽ được hiển thị

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
8

Các phần sau đây hướng dẫn bạn qua ví dụ này

Tạo trình phân tích cú pháp¶

Bước đầu tiên trong việc sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 là tạo một đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
1

Đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 sẽ chứa tất cả thông tin cần thiết để phân tích dòng lệnh thành các kiểu dữ liệu Python

Thêm đối số¶

Điền vào một

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 thông tin về các đối số của chương trình được thực hiện bằng cách gọi phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38. Nói chung, các cuộc gọi này cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 biết cách lấy các chuỗi trên dòng lệnh và biến chúng thành các đối tượng. Thông tin này được lưu trữ và sử dụng khi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 được gọi. Ví dụ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
7

Sau đó, gọi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 sẽ trả về một đối tượng có hai thuộc tính là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
42 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
43. Thuộc tính
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
42 sẽ là danh sách một hoặc nhiều số nguyên và thuộc tính
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
43 sẽ là hàm
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
46, nếu
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
47 được chỉ định tại dòng lệnh hoặc hàm
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
48 nếu không được chỉ định

Phân tích đối số¶

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 phân tích đối số thông qua phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40. Điều này sẽ kiểm tra dòng lệnh, chuyển đổi từng đối số thành loại thích hợp và sau đó gọi hành động thích hợp. Trong hầu hết các trường hợp, điều này có nghĩa là một đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
51 đơn giản sẽ được xây dựng từ các thuộc tính được phân tích cú pháp từ dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
9

Trong một tập lệnh,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 thường sẽ được gọi mà không có đối số và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 sẽ tự động xác định các đối số dòng lệnh từ
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
04

Các đối tượng ArgumentParser¶

lớp argparse. Trình phân tích đối số[prog=Không có . HelpFormatter, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter , prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True, exit_on_error=True]

Tạo một đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 mới. Tất cả các tham số phải được chuyển thành đối số từ khóa. Mỗi tham số có mô tả chi tiết hơn bên dưới, nhưng tóm lại chúng là

  • prog - Tên của chương trình [mặc định.

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    56]

  • cách sử dụng - Chuỗi mô tả cách sử dụng chương trình [mặc định. được tạo từ các đối số được thêm vào trình phân tích cú pháp]

  • mô tả - Văn bản hiển thị trước trợ giúp đối số [theo mặc định, không có văn bản]

  • phần kết - Văn bản hiển thị sau trợ giúp đối số [theo mặc định, không có văn bản]

  • cha mẹ - Một danh sách các đối tượng

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    35 cũng nên bao gồm các đối số

  • formatter_class - Một lớp để tùy chỉnh đầu ra trợ giúp

  • tiền tố_chars - Tập hợp các ký tự tiền tố đối số tùy chọn [mặc định. ‘-‘]

  • fromfile_prefix_chars - Tập hợp các ký tự tiền tố tệp mà từ đó các đối số bổ sung sẽ được đọc [mặc định.

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22]

  • đối_số_mặc_định - Giá trị mặc định chung cho các đối số [mặc định.

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22]

  • xung đột_handler - Chiến lược giải quyết các tùy chọn xung đột [thường không cần thiết]

  • add_help - Thêm tùy chọn

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    60 vào trình phân tích cú pháp [mặc định.
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    28]

  • allow_abrev - Cho phép viết tắt các tùy chọn dài nếu từ viết tắt rõ ràng. [mặc định.

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    28]

  • exit_on_error - Xác định xem ArgumentParser có thoát với thông tin lỗi hay không khi xảy ra lỗi. [mặc định.

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    28]

Đã thay đổi trong phiên bản 3. 5. tham số allow_abrev đã được thêm vào.

Đã thay đổi trong phiên bản 3. 8. Trong các phiên bản trước, allow_abrev cũng vô hiệu hóa việc nhóm các cờ ngắn như

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
64 thành nghĩa là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
65.

Đã thay đổi trong phiên bản 3. 9. tham số exit_on_error đã được thêm vào.

Các phần sau đây mô tả cách sử dụng từng phần này

ăn xin¶

Theo mặc định, đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 sử dụng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
67 để xác định cách hiển thị tên của chương trình trong thông báo trợ giúp. Mặc định này hầu như luôn được mong muốn vì nó sẽ làm cho các thông báo trợ giúp khớp với cách chương trình được gọi trên dòng lệnh. Ví dụ: hãy xem xét một tệp có tên
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
68 với mã sau

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
0

Phần trợ giúp cho chương trình này sẽ hiển thị tên chương trình là

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
68 [bất kể chương trình được gọi từ đâu]

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
1

Để thay đổi hành vi mặc định này, một giá trị khác có thể được cung cấp bằng cách sử dụng đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
70 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
2

Lưu ý rằng tên chương trình, dù được xác định từ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
67 hay từ đối số
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
70, đều có sẵn để trợ giúp các thông báo sử dụng định dạng định dạng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
74

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
3

cách sử dụng¶

Theo mặc định,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 tính toán thông báo sử dụng từ các đối số mà nó chứa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
4

Thông báo mặc định có thể được ghi đè bằng đối số từ khóa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
76

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
5

Công cụ xác định định dạng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
74 có sẵn để điền tên chương trình vào thông báo sử dụng của bạn

sự mô tả¶

Hầu hết các cuộc gọi đến hàm tạo

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 sẽ sử dụng đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
79. Đối số này đưa ra một mô tả ngắn gọn về những gì chương trình làm và cách thức hoạt động của nó. Trong thông báo trợ giúp, mô tả được hiển thị giữa chuỗi sử dụng dòng lệnh và thông báo trợ giúp cho các đối số khác nhau

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
6

Theo mặc định, mô tả sẽ được ngắt dòng sao cho phù hợp với không gian nhất định. Để thay đổi hành vi này, hãy xem đối số formatter_class

phần kết¶

Một số chương trình muốn hiển thị mô tả bổ sung của chương trình sau mô tả của các đối số. Văn bản như vậy có thể được chỉ định bằng cách sử dụng đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
80 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
7

Như với đối số mô tả, văn bản

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
80 theo mặc định được ngắt dòng, nhưng hành vi này có thể được điều chỉnh bằng đối số formatter_class thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

cha mẹ¶

Đôi khi, một số trình phân tích cú pháp chia sẻ một bộ đối số chung. Thay vì lặp lại các định nghĩa của các đối số này, có thể sử dụng một trình phân tích cú pháp duy nhất với tất cả các đối số được chia sẻ và chuyển đối số từ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
84 sang
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35. Đối số
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
84 lấy một danh sách các đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35, thu thập tất cả các hành động vị trí và tùy chọn từ chúng và thêm các hành động này vào đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 đang được xây dựng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
8

Lưu ý rằng hầu hết các trình phân tích cú pháp chính sẽ chỉ định

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
89. Nếu không,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 sẽ thấy hai tùy chọn
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
60 [một ở cha và một ở con] và đưa ra lỗi

Ghi chú

Bạn phải khởi tạo đầy đủ trình phân tích cú pháp trước khi chuyển chúng qua

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
84. Nếu bạn thay đổi trình phân tích cú pháp gốc sau trình phân tích cú pháp con, những thay đổi đó sẽ không được phản ánh trong trình phân tích cú pháp con

formatter_class¶

Các đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 cho phép tùy chỉnh định dạng trợ giúp bằng cách chỉ định một lớp định dạng thay thế. Hiện tại, có bốn lớp như vậy

lớp argparse. RawDescriptionHelpFormatterlớp argparse. RawTextHelpFormatterlớp argparse. ArgumentDefaultsHelpFormatterlớp argparse. MetavarTypeHelpFormatter

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
94 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
95 cung cấp nhiều quyền kiểm soát hơn đối với cách hiển thị các mô tả bằng văn bản. Theo mặc định, các đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 sẽ ngắt dòng các văn bản mô tả và phần kết trong thông báo trợ giúp dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
9

Chuyển

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
94 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
98 cho biết rằng mô tả và phần kết đã được định dạng chính xác và không được ngắt dòng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
10

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
95 duy trì khoảng trắng cho tất cả các loại văn bản trợ giúp, bao gồm cả mô tả đối số. Tuy nhiên, nhiều dòng mới được thay thế bằng một. Nếu bạn muốn giữ nguyên nhiều dòng trống, hãy thêm khoảng cách giữa các dòng mới

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
100 tự động thêm thông tin về các giá trị mặc định vào từng thông báo trợ giúp đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
11

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
101 sử dụng tên của đối số loại cho mỗi đối số làm tên hiển thị cho các giá trị của nó [thay vì sử dụng dest như trình định dạng thông thường vẫn làm]

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
12

tiền tố_chars¶

Hầu hết các tùy chọn dòng lệnh sẽ sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 làm tiền tố, e. g.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
103. Trình phân tích cú pháp cần hỗ trợ các ký tự tiền tố khác hoặc bổ sung, e. g. đối với các tùy chọn như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
104 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
105, có thể chỉ định chúng bằng cách sử dụng đối số
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
106 cho hàm tạo ArgumentParser

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
13

Đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
106 mặc định là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
108. Việc cung cấp một bộ ký tự không bao gồm
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 sẽ khiến các tùy chọn
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
103 không được phép

fromfile_prefix_chars¶

Đôi khi, khi xử lý một danh sách đối số đặc biệt dài, có thể nên giữ danh sách đối số trong một tệp thay vì gõ nó ra ở dòng lệnh. Nếu đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
111 được cung cấp cho hàm tạo
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35, thì các đối số bắt đầu bằng bất kỳ ký tự nào được chỉ định sẽ được coi là tệp và sẽ được thay thế bằng các đối số mà chúng chứa. Ví dụ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
14

Các đối số được đọc từ một tệp theo mặc định phải là một đối số trên mỗi dòng [nhưng cũng xem

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
113] và được xử lý như thể chúng ở cùng một vị trí với đối số tham chiếu tệp gốc trên dòng lệnh. Vì vậy, trong ví dụ trên, biểu thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
114 được coi là tương đương với biểu thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
115

Đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
111 mặc định là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
22, nghĩa là các đối số sẽ không bao giờ được coi là tham chiếu tệp

đối số_mặc định¶

Nói chung, giá trị mặc định của đối số được chỉ định bằng cách chuyển giá trị mặc định cho

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 hoặc bằng cách gọi phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
119 với một tập hợp cụ thể các cặp tên-giá trị. Tuy nhiên, đôi khi, có thể hữu ích khi chỉ định một mặc định trên toàn bộ trình phân tích cú pháp cho các đối số. Điều này có thể được thực hiện bằng cách chuyển đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
120 cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35. Ví dụ: để ngăn chặn toàn bộ việc tạo thuộc tính trên các cuộc gọi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40, chúng tôi cung cấp
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
123

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
15

allow_abbrev¶

Thông thường, khi bạn chuyển danh sách đối số sang phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35, nó nhận dạng chữ viết tắt của các tùy chọn dài.

Có thể tắt tính năng này bằng cách đặt

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
126 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
29

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
16

Mới trong phiên bản 3. 5

xung đột_handler¶

Các đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 không cho phép hai hành động với cùng một chuỗi tùy chọn. Theo mặc định, các đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 đưa ra một ngoại lệ nếu một nỗ lực được thực hiện để tạo một đối số với một chuỗi tùy chọn đã được sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
17

Đôi khi [đ. g. khi sử dụng cha mẹ], có thể hữu ích khi ghi đè bất kỳ đối số cũ hơn nào bằng cùng một chuỗi tùy chọn. Để có được hành vi này, giá trị

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
130 có thể được cung cấp cho đối số
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
131 của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
18

Lưu ý rằng các đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 chỉ xóa một hành động nếu tất cả các chuỗi tùy chọn của nó bị ghi đè. Vì vậy, trong ví dụ trên, tác vụ
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
103 cũ được giữ lại làm tác vụ
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
135, bởi vì chỉ có chuỗi tùy chọn
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
136 bị ghi đè

add_help¶

Theo mặc định, các đối tượng ArgumentParser thêm một tùy chọn chỉ hiển thị thông báo trợ giúp của trình phân tích cú pháp. Ví dụ: hãy xem xét một tệp có tên

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
68 chứa đoạn mã sau

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
0

Nếu

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
138 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
139 được cung cấp tại dòng lệnh, phần trợ giúp ArgumentParser sẽ được in

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40

Đôi khi, có thể hữu ích khi vô hiệu hóa việc bổ sung tùy chọn trợ giúp này. Điều này có thể đạt được bằng cách chuyển

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
29 làm đối số
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
141 cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
41

Tùy chọn trợ giúp thường là

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
60. Trường hợp ngoại lệ này là nếu
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
106 được chỉ định và không bao gồm
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102, trong trường hợp đó,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
138 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
139 không phải là các tùy chọn hợp lệ. Trong trường hợp này, ký tự đầu tiên trong
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
148 được sử dụng làm tiền tố cho các tùy chọn trợ giúp

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
42

exit_on_error¶

Thông thường, khi bạn chuyển một danh sách đối số không hợp lệ sang phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 của một
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35, nó sẽ thoát ra với thông tin lỗi

Nếu người dùng muốn bắt lỗi theo cách thủ công, tính năng này có thể được bật bằng cách đặt

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
151 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
29

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
43

Mới trong phiên bản 3. 9

Phương thức add_argument[]¶

Trình phân tích đối số. add_argument[tên hoặc cờ. [ , hành động][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]]

Xác định cách phân tích cú pháp một đối số dòng lệnh. Mỗi tham số có mô tả chi tiết hơn bên dưới, nhưng tóm lại chúng là

  • tên hoặc cờ - Tên hoặc danh sách các chuỗi tùy chọn, e. g.

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    153 hoặc
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    154

  • hành động - Loại hành động cơ bản được thực hiện khi gặp phải đối số này tại dòng lệnh

  • nargs - Số lượng đối số dòng lệnh sẽ được sử dụng

  • const - Một giá trị không đổi được yêu cầu bởi một số lựa chọn hành động và nargs

  • mặc định - Giá trị được tạo nếu đối số không có trong dòng lệnh và nếu nó không có trong đối tượng không gian tên

  • loại - Loại mà đối số dòng lệnh sẽ được chuyển đổi

  • lựa chọn - Vùng chứa các giá trị được phép cho đối số

  • bắt buộc - Có thể bỏ qua tùy chọn dòng lệnh hay không [chỉ tùy chọn]

  • trợ giúp - Mô tả ngắn gọn về chức năng của đối số

  • metavar - Tên cho đối số trong thông báo sử dụng

  • dest - Tên của thuộc tính sẽ được thêm vào đối tượng được trả về bởi

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    40

Các phần sau đây mô tả cách sử dụng từng phần này

tên hoặc cờ¶

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 phải biết liệu một đối số tùy chọn, như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
135 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
136, hoặc một đối số vị trí, như danh sách tên tệp, có được mong đợi hay không. Do đó, các đối số đầu tiên được chuyển đến
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 phải là một chuỗi các cờ hoặc một tên đối số đơn giản

Ví dụ: một đối số tùy chọn có thể được tạo như

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
44

trong khi một đối số vị trí có thể được tạo ra như

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
45

Khi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 được gọi, các đối số tùy chọn sẽ được xác định bằng tiền tố
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 và các đối số còn lại sẽ được coi là vị trí

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
46

hoạt động¶

Các đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 liên kết các đối số dòng lệnh với các hành động. Những hành động này có thể thực hiện bất cứ điều gì với các đối số dòng lệnh được liên kết với chúng, mặc dù hầu hết các hành động chỉ cần thêm một thuộc tính vào đối tượng được trả về bởi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40. Đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
164 chỉ định cách xử lý các đối số dòng lệnh. Các hành động được cung cấp là

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    11 - Điều này chỉ lưu trữ giá trị của đối số. Đây là hành động mặc định. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    47

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    12 - Điều này lưu trữ giá trị được chỉ định bởi đối số từ khóa const; . Hành động
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    12 được sử dụng phổ biến nhất với các đối số tùy chọn chỉ định một số loại cờ. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    48

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    13 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    170 - Đây là những trường hợp đặc biệt của
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    12 được sử dụng để lưu trữ các giá trị
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    28 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    29 tương ứng. Ngoài ra, chúng tạo ra các giá trị mặc định lần lượt là
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    29 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    28. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    49

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    14 - Điều này lưu trữ một danh sách và nối từng giá trị đối số vào danh sách. Sẽ rất hữu ích khi cho phép một tùy chọn được chỉ định nhiều lần. Nếu giá trị mặc định không trống, thì các phần tử mặc định sẽ xuất hiện trong giá trị được phân tích cú pháp cho tùy chọn, với bất kỳ giá trị nào từ dòng lệnh được thêm vào sau các giá trị mặc định đó. Ví dụ sử dụng

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    60

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    15 - Điều này lưu trữ một danh sách và nối thêm giá trị được chỉ định bởi đối số từ khóa const vào danh sách; . Hành động
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    15 thường hữu ích khi nhiều đối số cần lưu trữ các hằng số vào cùng một danh sách. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    61

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    16 - Điều này đếm số lần đối số từ khóa xảy ra. Ví dụ: điều này hữu ích để tăng mức độ chi tiết

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    62

    Lưu ý, mặc định sẽ là

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22 trừ khi được đặt rõ ràng thành 0

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    17 - Thao tác này sẽ in thông báo trợ giúp đầy đủ cho tất cả các tùy chọn trong trình phân tích cú pháp hiện tại rồi thoát. Theo mặc định, một hành động trợ giúp sẽ tự động được thêm vào trình phân tích cú pháp. Xem
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    35 để biết chi tiết về cách tạo đầu ra

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    18 - Điều này mong đợi một đối số từ khóa
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    185 trong lệnh gọi
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    38 và in thông tin phiên bản và thoát khi được gọi

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    63

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    187 - Điều này lưu trữ một danh sách và mở rộng từng giá trị đối số vào danh sách. Ví dụ sử dụng

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    64

    Mới trong phiên bản 3. 8

Bạn cũng có thể chỉ định một hành động tùy ý bằng cách chuyển một lớp con Hành động hoặc đối tượng khác thực hiện cùng một giao diện.

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
188 có sẵn trong
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 và thêm hỗ trợ cho các hành động boolean như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
136 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
191

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
65

Mới trong phiên bản 3. 9

Cách được đề xuất để tạo hành động tùy chỉnh là mở rộng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
192, ghi đè phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
193 và tùy chọn phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
194 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
195

Ví dụ về hành động tùy chỉnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
66

Để biết thêm chi tiết, xem

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
192

nargs¶

Các đối tượng ArgumentParser thường liên kết một đối số dòng lệnh với một hành động được thực hiện. Đối số từ khóa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
197 liên kết một số đối số dòng lệnh khác với một hành động. Các giá trị được hỗ trợ là

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    198 [một số nguyên].
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    198 đối số từ dòng lệnh sẽ được tập hợp lại thành một danh sách. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    67

    Lưu ý rằng

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    400 tạo danh sách một mục. Điều này khác với mặc định, trong đó mặt hàng được sản xuất bởi chính nó

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    24. Một đối số sẽ được sử dụng từ dòng lệnh nếu có thể và được tạo dưới dạng một mục. Nếu không có đối số dòng lệnh, giá trị từ mặc định sẽ được tạo. Lưu ý rằng đối với các đối số tùy chọn, có một trường hợp bổ sung - có chuỗi tùy chọn nhưng không có đối số dòng lệnh theo sau. Trong trường hợp này, giá trị từ const sẽ được tạo ra. Một số ví dụ để minh họa điều này

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    68

    Một trong những cách sử dụng phổ biến hơn của

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    402 là cho phép các tệp đầu vào và đầu ra tùy chọn

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    69

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    25. Tất cả các đối số dòng lệnh hiện tại được tập hợp thành một danh sách. Lưu ý rằng việc có nhiều hơn một đối số vị trí với
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    404 thường không có ý nghĩa gì, nhưng có thể có nhiều đối số tùy chọn với
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    404. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    70

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    26. Giống như
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    25, tất cả các đối số dòng lệnh hiện tại được tập hợp thành một danh sách. Ngoài ra, một thông báo lỗi sẽ được tạo nếu không có ít nhất một đối số dòng lệnh. Ví dụ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    71

Nếu đối số từ khóa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
197 không được cung cấp, thì số lượng đối số được sử dụng sẽ được xác định bởi hành động. Nói chung, điều này có nghĩa là một đối số dòng lệnh sẽ được sử dụng và một mục duy nhất [không phải danh sách] sẽ được tạo

hăng sô¶

Đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
409 của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 được sử dụng để giữ các giá trị không đổi không được đọc từ dòng lệnh nhưng được yêu cầu cho các hành động
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 khác nhau. Hai cách sử dụng phổ biến nhất của nó là

  • Khi

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    38 được gọi với
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    413 hoặc
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    414. Những hành động này thêm giá trị
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    409 vào một trong các thuộc tính của đối tượng được trả về bởi
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    40. Xem mô tả hành động để biết ví dụ. Nếu
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    409 không được cung cấp cho
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    38, nó sẽ nhận giá trị mặc định là
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22

  • Khi

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    38 được gọi với các chuỗi tùy chọn [như
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    135 hoặc
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    136] và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    402. Điều này tạo ra một đối số tùy chọn có thể được theo sau bởi 0 hoặc một đối số dòng lệnh. Khi phân tích cú pháp dòng lệnh, nếu gặp phải chuỗi tùy chọn mà không có đối số dòng lệnh nào theo sau nó, giá trị của
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    409 sẽ được giả định là
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22 thay thế. Xem mô tả nargs để biết ví dụ

Đã thay đổi trong phiên bản 3. 11. ______3426 theo mặc định, kể cả khi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
414 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
413.

mặc định¶

Tất cả các đối số tùy chọn và một số đối số vị trí có thể được bỏ qua tại dòng lệnh. Đối số từ khóa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
429 của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38, có giá trị mặc định là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
22, chỉ định giá trị nào sẽ được sử dụng nếu không có đối số dòng lệnh. Đối với các đối số tùy chọn, giá trị
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
429 được sử dụng khi chuỗi tùy chọn không có ở dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
72

Nếu không gian tên đích đã có một bộ thuộc tính, hành động mặc định sẽ không ghi đè lên nó

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
73

Nếu giá trị

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
429 là một chuỗi, trình phân tích cú pháp sẽ phân tích cú pháp giá trị đó như thể đó là một đối số dòng lệnh. Cụ thể, trình phân tích cú pháp áp dụng bất kỳ đối số chuyển đổi loại nào, nếu được cung cấp, trước khi đặt thuộc tính trên giá trị trả về
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
51. Mặt khác, trình phân tích cú pháp sử dụng giá trị như là

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
74

Đối với các đối số vị trí có nargs bằng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
435 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
436, giá trị
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
429 được sử dụng khi không có đối số dòng lệnh nào

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
75

Việc cung cấp

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
438 khiến không có thuộc tính nào được thêm vào nếu không có đối số dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
76

loại hình¶

Theo mặc định, trình phân tích cú pháp đọc các đối số dòng lệnh dưới dạng các chuỗi đơn giản. Tuy nhiên, khá thường xuyên, chuỗi dòng lệnh thay vào đó nên được hiểu là một loại khác, chẳng hạn như

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
31 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
23. Từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
441 cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 cho phép thực hiện mọi chuyển đổi loại và kiểm tra loại cần thiết

Nếu từ khóa loại được sử dụng với từ khóa mặc định, bộ chuyển đổi loại chỉ được áp dụng nếu mặc định là một chuỗi

Đối số của

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
441 có thể là bất kỳ lệnh gọi nào chấp nhận một chuỗi đơn. Nếu hàm tăng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
444,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
445 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
446, ngoại lệ sẽ bị bắt và thông báo lỗi được định dạng đẹp sẽ hiển thị. Không có loại ngoại lệ nào khác được xử lý

Các loại và chức năng tích hợp phổ biến có thể được sử dụng làm bộ chuyển đổi loại

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
77

Các chức năng do người dùng xác định cũng có thể được sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
78

Hàm

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
447 không được khuyến nghị làm trình chuyển đổi loại. Tất cả những gì nó làm là chuyển đổi các chuỗi rỗng thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
29 và các chuỗi không rỗng thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
28. Đây thường không phải là những gì được mong muốn

Nói chung, từ khóa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
441 là một tiện ích chỉ nên được sử dụng cho các chuyển đổi đơn giản chỉ có thể gây ra một trong ba trường hợp ngoại lệ được hỗ trợ. Bất cứ điều gì có xử lý lỗi hoặc quản lý tài nguyên thú vị hơn nên được thực hiện sau khi các đối số được phân tích cú pháp

Ví dụ: chuyển đổi JSON hoặc YAML có các trường hợp lỗi phức tạp yêu cầu báo cáo tốt hơn mức có thể được cung cấp bởi từ khóa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
441. Một
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
452 sẽ không được định dạng tốt và một ngoại lệ
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
453 sẽ không được xử lý

Ngay cả

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
454 cũng có những hạn chế khi sử dụng với từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
441. Nếu một đối số sử dụng FileType và sau đó đối số tiếp theo không thành công, lỗi sẽ được báo cáo nhưng tệp không tự động đóng. Trong trường hợp này, tốt hơn là đợi cho đến khi trình phân tích cú pháp chạy xong rồi sử dụng câu lệnh
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
456 để quản lý các tệp

Đối với trình kiểm tra loại chỉ kiểm tra đối với một tập hợp giá trị cố định, hãy cân nhắc sử dụng từ khóa lựa chọn thay thế

lựa chọn¶

Một số đối số dòng lệnh nên được chọn từ một bộ giá trị bị hạn chế. Chúng có thể được xử lý bằng cách chuyển một đối tượng vùng chứa làm đối số từ khóa lựa chọn tới

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38. Khi dòng lệnh được phân tích cú pháp, các giá trị đối số sẽ được kiểm tra và thông báo lỗi sẽ hiển thị nếu đối số không phải là một trong các giá trị được chấp nhận

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
79

Lưu ý rằng việc đưa vào vùng chứa lựa chọn được kiểm tra sau khi thực hiện bất kỳ chuyển đổi loại nào, vì vậy loại đối tượng trong vùng chứa lựa chọn phải khớp với loại đã chỉ định

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
80

Bất kỳ vùng chứa nào cũng có thể được chuyển thành giá trị lựa chọn, vì vậy tất cả các đối tượng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
458, đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
459 và vùng chứa tùy chỉnh đều được hỗ trợ

Không nên sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
460 vì khó kiểm soát sự xuất hiện của nó trong cách sử dụng, trợ giúp và thông báo lỗi

Các lựa chọn được định dạng sẽ ghi đè metavar mặc định thường được lấy từ dest. Đây thường là những gì bạn muốn vì người dùng không bao giờ nhìn thấy tham số đích. Nếu cách hiển thị này không được mong muốn [có lẽ vì có nhiều lựa chọn], chỉ cần chỉ định một metavar rõ ràng

yêu cầu¶

Nói chung, mô-đun

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 giả định rằng các cờ như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
135 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
463 biểu thị các đối số tùy chọn, luôn có thể được bỏ qua tại dòng lệnh. Để thực hiện một tùy chọn bắt buộc, có thể chỉ định
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
28 cho đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
465 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
81

Như ví dụ cho thấy, nếu một tùy chọn được đánh dấu là

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
467, thì
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 sẽ báo lỗi nếu tùy chọn đó không có ở dòng lệnh

Ghi chú

Các tùy chọn bắt buộc thường được coi là hình thức xấu vì người dùng mong đợi các tùy chọn là tùy chọn và do đó nên tránh chúng khi có thể

Cứu giúp¶

Giá trị

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
469 là một chuỗi chứa mô tả ngắn gọn về đối số. Khi người dùng yêu cầu trợ giúp [thường bằng cách sử dụng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
138 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
139 tại dòng lệnh], các mô tả
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
469 này sẽ được hiển thị cùng với mỗi đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
82

Các chuỗi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
469 có thể bao gồm nhiều định dạng định dạng khác nhau để tránh lặp lại những thứ như tên chương trình hoặc đối số mặc định. Các chỉ định có sẵn bao gồm tên chương trình,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
74 và hầu hết các đối số từ khóa cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38, e. g.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
476,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
477, v.v.

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
83

Vì chuỗi trợ giúp hỗ trợ định dạng %, nếu bạn muốn một chữ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
478 xuất hiện trong chuỗi trợ giúp, bạn phải thoát khỏi nó dưới dạng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
479

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 hỗ trợ tắt tiếng mục trợ giúp cho một số tùy chọn nhất định, bằng cách đặt giá trị
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
469 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
482

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
84

metavar¶

Khi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 tạo thông báo trợ giúp, nó cần một số cách để tham chiếu đến từng đối số dự kiến. Theo mặc định, các đối tượng ArgumentParser sử dụng giá trị đích làm “tên” của từng đối tượng. Theo mặc định, đối với các hành động đối số vị trí, giá trị đích được sử dụng trực tiếp và đối với các hành động đối số tùy chọn, giá trị đích được viết hoa. Vì vậy, một đối số vị trí duy nhất với
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
484 sẽ được gọi là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
485. Một đối số tùy chọn duy nhất
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
136 phải được theo sau bởi một đối số dòng lệnh duy nhất sẽ được gọi là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
487. Một ví dụ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
85

Một tên thay thế có thể được chỉ định với

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
488

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
86

Lưu ý rằng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
488 chỉ thay đổi tên hiển thị - tên của thuộc tính trên đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 vẫn được xác định bởi giá trị đích

Các giá trị khác nhau của

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
197 có thể khiến metavar được sử dụng nhiều lần. Cung cấp một bộ cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
488 chỉ định một cách hiển thị khác cho mỗi đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
87

định mệnh¶

Hầu hết các hành động của

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 đều thêm một số giá trị dưới dạng thuộc tính của đối tượng được trả về bởi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40. Tên của thuộc tính này được xác định bởi đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38. Đối với các hành động đối số vị trí,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 thường được cung cấp làm đối số đầu tiên cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
88

Đối với các hành động đối số tùy chọn, giá trị của

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 thường được suy ra từ các chuỗi tùy chọn.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 tạo ra giá trị của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 bằng cách lấy chuỗi tùy chọn dài đầu tiên và loại bỏ chuỗi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
602 ban đầu. Nếu không có chuỗi tùy chọn dài nào được cung cấp, thì
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 sẽ được lấy từ chuỗi tùy chọn ngắn đầu tiên bằng cách loại bỏ ký tự
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 đầu tiên. Mọi ký tự
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 bên trong sẽ được chuyển đổi thành ký tự
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
606 để đảm bảo chuỗi là tên thuộc tính hợp lệ. Các ví dụ dưới đây minh họa hành vi này

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
89

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 cho phép cung cấp tên thuộc tính tùy chỉnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
10

Các lớp hành động¶

Các lớp hành động triển khai API hành động, một hàm có thể gọi được trả về một hàm có thể gọi được để xử lý các đối số từ dòng lệnh. Bất kỳ đối tượng nào tuân theo API này đều có thể được chuyển dưới dạng tham số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
164 thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38

lớp argparse. Hành động[option_strings , dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None]

Các đối tượng hành động được ArgumentParser sử dụng để biểu thị thông tin cần thiết để phân tích cú pháp một đối số từ một hoặc nhiều chuỗi từ dòng lệnh. Lớp Hành động phải chấp nhận hai đối số vị trí cộng với bất kỳ đối số từ khóa nào được truyền cho

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
08 ngoại trừ chính
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
164

Các phiên bản của Hành động [hoặc giá trị trả về của bất kỳ giá trị nào có thể gọi được đối với tham số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
164] phải có các thuộc tính “dest”, “option_strings”, “default”, “type”, “required”, “help”, v.v. xác định. Cách dễ nhất để đảm bảo các thuộc tính này được xác định là gọi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
613

Các trường hợp hành động phải có thể gọi được, vì vậy các lớp con phải ghi đè phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
193, phương thức này sẽ chấp nhận bốn tham số

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    615 - Đối tượng ArgumentParser chứa hành động này

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    616 - Đối tượng
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    51 sẽ được trả về bởi
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    40. Hầu hết các hành động thêm thuộc tính vào đối tượng này bằng cách sử dụng
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    619

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    620 - Các đối số dòng lệnh được liên kết, với bất kỳ loại chuyển đổi nào được áp dụng. Chuyển đổi loại được chỉ định với đối số từ khóa loại thành
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    38

  • parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    622 - Chuỗi tùy chọn được sử dụng để gọi hành động này. Đối số
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    622 là tùy chọn và sẽ vắng mặt nếu hành động được liên kết với đối số vị trí

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
193 có thể thực hiện các hành động tùy ý, nhưng thường sẽ đặt các thuộc tính trên
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
616 dựa trên
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
620

Các lớp con hành động có thể định nghĩa một phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
195 không có đối số và trả về một chuỗi sẽ được sử dụng khi in cách sử dụng chương trình. Nếu phương pháp đó không được cung cấp, một giá trị mặc định hợp lý sẽ được sử dụng

Phương thức parse_args[]¶

Trình phân tích đối số. parse_args[args=Không có, namespace=None]

Chuyển đổi chuỗi đối số thành đối tượng và gán chúng làm thuộc tính của không gian tên. Trả lại không gian tên đã điền

Các cuộc gọi trước tới

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 xác định chính xác đối tượng nào được tạo và cách chúng được chỉ định. Xem tài liệu về
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 để biết chi tiết

  • args - Danh sách các chuỗi để phân tích cú pháp. Mặc định được lấy từ

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    04

  • không gian tên - Một đối tượng để lấy các thuộc tính. Mặc định là một đối tượng

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    51 trống mới

Cú pháp giá trị tùy chọn¶

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 hỗ trợ một số cách chỉ định giá trị của một tùy chọn [nếu cần một tùy chọn]. Trong trường hợp đơn giản nhất, tùy chọn và giá trị của nó được truyền dưới dạng hai đối số riêng biệt

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
11

Đối với các tùy chọn dài [các tùy chọn có tên dài hơn một ký tự], tùy chọn và giá trị cũng có thể được chuyển dưới dạng một đối số dòng lệnh, sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
634 để phân tách chúng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
12

Đối với các tùy chọn ngắn [các tùy chọn chỉ dài một ký tự], tùy chọn và giá trị của nó có thể được nối với nhau

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
13

Một số tùy chọn ngắn có thể được kết hợp với nhau, chỉ sử dụng một tiền tố

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 duy nhất, miễn là chỉ tùy chọn cuối cùng [hoặc không có tùy chọn nào] yêu cầu giá trị

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
14

Đối số không hợp lệ¶

Trong khi phân tích cú pháp dòng lệnh,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 kiểm tra nhiều lỗi khác nhau, bao gồm tùy chọn không rõ ràng, loại không hợp lệ, tùy chọn không hợp lệ, sai số lượng đối số vị trí, v.v. Khi gặp lỗi như vậy, nó sẽ thoát và in lỗi cùng với thông báo sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
15

Các đối số chứa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102¶

Phương pháp

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 cố gắng đưa ra lỗi bất cứ khi nào người dùng mắc lỗi rõ ràng, nhưng một số tình huống vốn đã mơ hồ. Ví dụ: đối số dòng lệnh
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
639 có thể là một nỗ lực để chỉ định một tùy chọn hoặc một nỗ lực để cung cấp một đối số vị trí. Phương pháp
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 thận trọng ở đây. đối số vị trí chỉ có thể bắt đầu bằng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 nếu chúng trông giống số âm và không có tùy chọn nào trong trình phân tích cú pháp trông giống số âm

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
16

Nếu bạn có các đối số vị trí phải bắt đầu bằng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
102 và không giống số âm, bạn có thể chèn đối số giả
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
643 để cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 biết rằng mọi thứ sau đó là một đối số vị trí

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
17

Viết tắt đối số [khớp tiền tố]¶

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 theo mặc định cho phép các tùy chọn dài được viết tắt thành một tiền tố, nếu chữ viết tắt đó rõ ràng [tiền tố khớp với một tùy chọn duy nhất .

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
18

Đã xảy ra lỗi đối với các đối số có thể tạo ra nhiều tùy chọn. Bạn có thể tắt tính năng này bằng cách đặt allow_abrev thành

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
29.

Ngoài
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
04¶

Đôi khi, có thể hữu ích khi có các đối số phân tích cú pháp ArgumentParser khác với các đối số của

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
04. Điều này có thể được thực hiện bằng cách chuyển một danh sách các chuỗi tới
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40. Điều này hữu ích để thử nghiệm tại dấu nhắc tương tác

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
19

Đối tượng không gian tên¶

lớp argparse. Không gian tên

Lớp đơn giản được sử dụng theo mặc định bởi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 để tạo một đối tượng giữ các thuộc tính và trả về nó

Lớp này cố tình đơn giản, chỉ là một lớp con

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
651 với biểu diễn chuỗi có thể đọc được. Nếu bạn muốn có chế độ xem giống như chính tả của các thuộc tính, bạn có thể sử dụng thành ngữ Python tiêu chuẩn,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
652

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
70

Cũng có thể hữu ích khi có một

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 gán các thuộc tính cho một đối tượng đã tồn tại, thay vì một đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
51 mới. Điều này có thể đạt được bằng cách chỉ định đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
655

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
71

Tiện ích khác¶

Lệnh phụ¶

Trình phân tích đối số. add_subparsers[[title][, description][, prog][, parser_class][, action][, option_strings][, dest][, required][, help][, metavar]]

Nhiều chương trình chia chức năng của chúng thành một số lệnh con, ví dụ, chương trình

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
656 có thể gọi các lệnh con như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
657,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
658 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
659. Tách chức năng theo cách này có thể là một ý tưởng đặc biệt hay khi một chương trình thực hiện một số chức năng khác nhau yêu cầu các loại đối số dòng lệnh khác nhau.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 hỗ trợ tạo các lệnh con như vậy bằng phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
661. Phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
661 thường được gọi mà không có đối số và trả về một đối tượng hành động đặc biệt. Đối tượng này có một phương thức duy nhất,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
663, lấy tên lệnh và bất kỳ đối số hàm tạo
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 nào, đồng thời trả về một đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 có thể được sửa đổi như bình thường

Mô tả các thông số

  • tiêu đề - tiêu đề cho nhóm trình phân tích cú pháp phụ trong đầu ra trợ giúp;

  • mô tả - mô tả cho nhóm trình phân tích cú pháp phụ trong đầu ra trợ giúp, theo mặc định là

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22

  • prog - thông tin sử dụng sẽ được hiển thị với trợ giúp lệnh phụ, theo mặc định, tên của chương trình và bất kỳ đối số vị trí nào trước đối số trình phân tích cú pháp phụ

  • parser_class - lớp sẽ được sử dụng để tạo các thể hiện của trình phân tích cú pháp phụ, theo mặc định là lớp của trình phân tích cú pháp hiện tại [e. g. ArgumentParser]

  • hành động - loại hành động cơ bản được thực hiện khi gặp đối số này tại dòng lệnh

  • dest - tên của thuộc tính mà tên lệnh phụ sẽ được lưu trữ;

  • bắt buộc - Có phải cung cấp lệnh con hay không, theo mặc định là

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    29 [được thêm vào trong 3. 7]

  • trợ giúp - trợ giúp cho nhóm trình phân tích cú pháp phụ trong đầu ra trợ giúp, theo mặc định là

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    22

  • metavar - chuỗi hiển thị các lệnh phụ có sẵn trong trợ giúp; . }

Một số ví dụ sử dụng

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
72

Lưu ý rằng đối tượng được trả về bởi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 sẽ chỉ chứa các thuộc tính cho trình phân tích cú pháp chính và trình phân tích cú pháp con được chọn bởi dòng lệnh [chứ không phải bất kỳ trình phân tích cú pháp con nào khác]. Vì vậy, trong ví dụ trên, khi lệnh
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
672 được chỉ định, chỉ có các thuộc tính
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
153 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
485 và khi lệnh
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
675 được chỉ định, chỉ có các thuộc tính
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
153 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
677

Tương tự, khi một thông báo trợ giúp được yêu cầu từ một bộ phân tích cú pháp con, chỉ phần trợ giúp cho bộ phân tích cú pháp cụ thể đó sẽ được in ra. Thông báo trợ giúp sẽ không bao gồm thông báo trình phân tích cú pháp cha hoặc trình phân tích cú pháp anh chị em. [Tuy nhiên, một thông báo trợ giúp cho mỗi lệnh subparser có thể được cung cấp bằng cách cung cấp đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
678 cho
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
663 như trên. ]

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
73

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
661 cũng hỗ trợ các đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
681 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
682. Khi có một trong hai, các lệnh của trình phân tích cú pháp con sẽ xuất hiện trong nhóm riêng của chúng trong đầu ra trợ giúp. Ví dụ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
74

Hơn nữa,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
683 hỗ trợ một đối số
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
684 bổ sung, cho phép nhiều chuỗi tham chiếu đến cùng một trình phân tích con. Ví dụ này, chẳng hạn như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
656, bí danh
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
686 là cách viết tắt của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
687

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
75

Một cách đặc biệt hiệu quả để xử lý các lệnh con là kết hợp việc sử dụng phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
661 với các lệnh gọi tới
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
119 để mỗi trình phân tích cú pháp con biết nó sẽ thực thi hàm Python nào. Ví dụ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
76

Bằng cách này, bạn có thể để

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 thực hiện công việc gọi hàm thích hợp sau khi hoàn tất phân tích cú pháp đối số. Liên kết các chức năng với các hành động như thế này thường là cách dễ dàng nhất để xử lý các hành động khác nhau cho mỗi trình phân tích cú pháp con của bạn. Tuy nhiên, nếu cần kiểm tra tên của trình phân tích con đã được gọi, đối số từ khóa
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
495 cho lệnh gọi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
661 sẽ hoạt động

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
77

Đã thay đổi trong phiên bản 3. 7. Đối số từ khóa bắt buộc mới.

Đối tượng FileType¶

lớp argparse. Loại tệp[chế độ=', bufsize=- 1, encoding=None, errors=None]

Nhà máy

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
454 tạo các đối tượng có thể được chuyển đến đối số kiểu của
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
08. Đối số có loại đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
454 sẽ mở đối số dòng lệnh dưới dạng tệp có chế độ, kích thước bộ đệm, mã hóa và xử lý lỗi được yêu cầu [xem hàm
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
696 để biết thêm chi tiết]

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
78

Các đối tượng FileType hiểu đối số giả

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
108 và tự động chuyển đổi đối số này thành
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
698 cho các đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
454 có thể đọc được và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
700 cho các đối tượng
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
454 có thể ghi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
79

Mới trong phiên bản 3. 4. Các đối số từ khóa mã hóa và lỗi.

Nhóm đối số¶

Trình phân tích đối số. add_argument_group[title=Không có, description=None]

Theo mặc định,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 nhóm các đối số dòng lệnh thành “đối số vị trí” và “tùy chọn” khi hiển thị thông báo trợ giúp. Khi có một nhóm các đối số theo khái niệm tốt hơn so với nhóm mặc định này, các nhóm thích hợp có thể được tạo bằng phương pháp
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
703

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
90

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
703 trả về một đối tượng nhóm đối số có phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 giống như một
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 thông thường. Khi một đối số được thêm vào nhóm, trình phân tích cú pháp xử lý đối số đó giống như một đối số bình thường, nhưng hiển thị đối số trong một nhóm riêng cho các thông báo trợ giúp. Phương thức
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
703 chấp nhận các đối số tiêu đề và mô tả có thể được sử dụng để tùy chỉnh màn hình này

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
91

Lưu ý rằng mọi đối số không nằm trong nhóm do người dùng xác định của bạn sẽ kết thúc trở lại trong phần "đối số vị trí" và "đối số tùy chọn" thông thường

Đã thay đổi trong phiên bản 3. 11. Việc gọi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
703 trên một nhóm đối số không được chấp nhận. Tính năng này không bao giờ được hỗ trợ và không phải lúc nào cũng hoạt động chính xác. Chức năng tồn tại trên API một cách tình cờ thông qua kế thừa và sẽ bị xóa trong tương lai.

Loại trừ lẫn nhau¶

Trình phân tích đối số. add_mutually_exclusive_group[bắt buộc=Sai]

Tạo một nhóm loại trừ lẫn nhau.

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 sẽ đảm bảo rằng chỉ một trong các đối số trong nhóm loại trừ lẫn nhau có mặt trên dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
92

Phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
710 cũng chấp nhận một đối số bắt buộc, để chỉ ra rằng ít nhất một trong các đối số loại trừ lẫn nhau là bắt buộc

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
93

Lưu ý rằng các nhóm đối số loại trừ lẫn nhau hiện tại không hỗ trợ đối số tiêu đề và mô tả của

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
703

Đã thay đổi trong phiên bản 3. 11. Việc gọi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
703 hoặc
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
710 trên một nhóm loại trừ lẫn nhau không được chấp nhận. Các tính năng này không bao giờ được hỗ trợ và không phải lúc nào cũng hoạt động chính xác. Các chức năng tồn tại trên API một cách tình cờ thông qua kế thừa và sẽ bị xóa trong tương lai.

Mặc định của trình phân tích cú pháp¶

Trình phân tích đối số. set_defaults[**kwargs]

Hầu hết thời gian, các thuộc tính của đối tượng được trả về bởi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 sẽ được xác định đầy đủ bằng cách kiểm tra các đối số dòng lệnh và các hành động đối số.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
119 cho phép thêm một số thuộc tính bổ sung được xác định mà không cần kiểm tra dòng lệnh

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
94

Lưu ý rằng các giá trị mặc định ở cấp độ trình phân tích cú pháp luôn ghi đè các giá trị mặc định ở cấp độ đối số

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
95

Giá trị mặc định ở cấp độ trình phân tích cú pháp có thể đặc biệt hữu ích khi làm việc với nhiều trình phân tích cú pháp. Xem phương pháp

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
661 để biết ví dụ về loại này

Trình phân tích đối số. get_default[dest]

Nhận giá trị mặc định cho một thuộc tính không gian tên, như được đặt bởi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
38 hoặc bởi
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
119

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
96

Trợ giúp in ấn¶

Trong hầu hết các ứng dụng điển hình,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 sẽ đảm nhận việc định dạng và in bất kỳ thông báo lỗi hoặc cách sử dụng nào. Tuy nhiên, một số phương pháp định dạng có sẵn

Trình phân tích đối số. print_usage[tệp=Không]

In một mô tả ngắn gọn về cách gọi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 trên dòng lệnh. Nếu tệp là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
22, thì
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
700 được giả định

Trình phân tích đối số. print_help[tệp=Không có]

In thông báo trợ giúp, bao gồm cách sử dụng chương trình và thông tin về các đối số đã đăng ký với

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35. Nếu tệp là
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
22, thì
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
700 được giả định

Ngoài ra còn có các biến thể của các phương thức này chỉ trả về một chuỗi thay vì in nó

Trình phân tích đối số. format_usage[]

Trả về một chuỗi chứa một mô tả ngắn gọn về cách gọi

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35 trên dòng lệnh

Trình phân tích đối số. format_help[]

Trả về một chuỗi chứa thông báo trợ giúp, bao gồm cách sử dụng chương trình và thông tin về các đối số đã đăng ký với

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35

Phân tích cú pháp một phần¶

Trình phân tích đối số. parse_known_args[args=Không có, namespace=None]

Đôi khi, một tập lệnh chỉ có thể phân tích cú pháp một vài đối số dòng lệnh, chuyển các đối số còn lại sang một tập lệnh hoặc chương trình khác. Trong những trường hợp này, phương pháp

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
728 có thể hữu ích. Nó hoạt động giống như
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
40 ngoại trừ việc nó không tạo ra lỗi khi có thêm đối số. Thay vào đó, nó trả về một bộ hai mục chứa không gian tên được điền và danh sách các chuỗi đối số còn lại

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
97

Cảnh báo

Kết hợp tiền tố áp dụng cho

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
728. Trình phân tích cú pháp có thể sử dụng một tùy chọn ngay cả khi đó chỉ là tiền tố của một trong các tùy chọn đã biết, thay vì để nó trong danh sách đối số còn lại.

Tùy chỉnh phân tích tập tin¶

Trình phân tích đối số. convert_arg_line_to_args[arg_line]

Các đối số được đọc từ một tệp [xem đối số từ khóa fromfile_prefix_chars cho hàm tạo

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
35] được đọc một đối số trên mỗi dòng.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
113 có thể được ghi đè để đọc dễ hiểu hơn

Phương thức này nhận một đối số duy nhất arg_line là một chuỗi được đọc từ tệp đối số. Nó trả về một danh sách các đối số được phân tích cú pháp từ chuỗi này. Phương thức được gọi một lần trên mỗi dòng được đọc từ tệp đối số, theo thứ tự

Ghi đè hữu ích của phương thức này là ghi đè coi từng từ được phân tách bằng dấu cách làm đối số. Ví dụ sau minh họa cách thực hiện việc này

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
98

Các phương thức thoát¶

Trình phân tích đối số. thoát[trạng thái=0, message=None]

Phương thức này kết thúc chương trình, thoát với trạng thái đã chỉ định và nếu được cung cấp, nó sẽ in một thông báo trước đó. Người dùng có thể ghi đè phương thức này để xử lý các bước này theo cách khác

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
99

Trình phân tích đối số. lỗi[thông báo]

Phương pháp này in một thông báo sử dụng bao gồm thông báo lỗi tiêu chuẩn và kết thúc chương trình với mã trạng thái là 2

Phân tích hỗn hợp¶

Trình phân tích đối số. parse_intermixed_args[args=Không có . , namespace=None]ArgumentParser.parse_known_intermixed_args[args=Không có, namespace=None]

Một số lệnh Unix cho phép người dùng kết hợp các đối số tùy chọn với các đối số vị trí. Các phương thức

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
733 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
734 hỗ trợ kiểu phân tích cú pháp này

Các trình phân tích cú pháp này không hỗ trợ tất cả các tính năng argparse và sẽ đưa ra các ngoại lệ nếu các tính năng không được hỗ trợ được sử dụng. Cụ thể, các bộ phân tích con,

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
27 và các nhóm loại trừ lẫn nhau bao gồm cả tùy chọn và vị trí không được hỗ trợ

Ví dụ sau đây cho thấy sự khác biệt giữa

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
728 và
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
733. cái trước trả về
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
738 dưới dạng đối số chưa được phân tích cú pháp, trong khi cái sau thu thập tất cả các vị trí vào
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
739

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
00

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
734 trả về một bộ gồm hai mục chứa không gian tên được điền và danh sách các chuỗi đối số còn lại.
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
733 phát sinh lỗi nếu còn bất kỳ chuỗi đối số nào chưa được phân tích cú pháp

Mới trong phiên bản 3. 7

Nâng cấp mã optparse¶

Ban đầu, mô-đun

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 đã cố gắng duy trì khả năng tương thích với
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
743. Tuy nhiên,
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
743 rất khó để mở rộng một cách minh bạch, đặc biệt là với những thay đổi cần thiết để hỗ trợ bộ xác định
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
745 mới và thông báo sử dụng tốt hơn. Khi hầu hết mọi thứ trong
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
743 đã được sao chép hoặc vá lỗi, việc cố gắng duy trì khả năng tương thích ngược dường như không còn thực tế nữa

Mô-đun

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01 cải tiến trên mô-đun
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
743 của thư viện tiêu chuẩn theo một số cách bao gồm

  • Xử lý đối số vị trí

  • Lệnh phụ hỗ trợ

  • Cho phép các tiền tố tùy chọn thay thế như

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    749 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    750

  • Xử lý các đối số kiểu không hoặc nhiều và một hoặc nhiều

  • Tạo ra nhiều thông điệp sử dụng thông tin hơn

  • Cung cấp giao diện đơn giản hơn nhiều cho

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    441 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    164 tùy chỉnh

Đường dẫn nâng cấp một phần từ

parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
743 lên
parser.add_argument['filename']           # positional argument
parser.add_argument['-c', '--count']      # option that takes a value
parser.add_argument['-v', '--verbose',
                    action='store_true']  # on/off flag
01

  • Thay thế tất cả các cuộc gọi

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    755 bằng cuộc gọi
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    08

  • Thay thế

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    757 bằng
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    758 và thêm các lệnh gọi bổ sung
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    08 cho các đối số vị trí. Hãy nhớ rằng những gì trước đây được gọi là
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    760, bây giờ trong ngữ cảnh
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    01 được gọi là
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    762

  • Thay thế

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    763 bằng cách sử dụng
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    733 thay vì
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    40

  • Thay thế các hành động gọi lại và các đối số từ khóa

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    766 bằng các đối số
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    441 hoặc
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    164

  • Thay thế tên chuỗi cho các đối số từ khóa

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    441 bằng các đối tượng loại tương ứng [e. g. int, float, phức tạp, v.v.]

  • Thay thế

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    770 bằng
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    51 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    772 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    773 bằng
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    774

  • Thay thế các chuỗi bằng các đối số ngầm định như

    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    775 hoặc
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    776 bằng cú pháp Python tiêu chuẩn để sử dụng từ điển để định dạng chuỗi, nghĩa là,
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    476 và
    parser.add_argument['filename']           # positional argument
    parser.add_argument['-c', '--count']      # option that takes a value
    parser.add_argument['-v', '--verbose',
                        action='store_true']  # on/off flag
    
    74

Chủ Đề