Python đa ngôn ngữ bất biến

Werkzeug cung cấp một số lớp con của các đối tượng Python phổ biến để mở rộng chúng với các tính năng bổ sung. Một số trong số chúng được sử dụng để làm cho chúng trở nên bất biến, một số khác được sử dụng để thay đổi một số ngữ nghĩa để hoạt động tốt hơn với HTTP

Mục đích chung

Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 6. Các lớp mục đích chung hiện có thể chọn được trong mỗi giao thức miễn là các đối tượng được chứa có thể chọn được. Điều này có nghĩa là sẽ không thể chọn được ngay khi nó chứa tệp.

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
8

Hoạt động giống như một dict thông thường nhưng phương thức này có thể thực hiện chuyển đổi kiểu. và là các lớp con của lớp này và cung cấp các tính năng tương tự

Nhật ký thay đổi

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

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
2 [ key, default=None, type=None ]

Trả về giá trị mặc định nếu dữ liệu được yêu cầu không tồn tại. Nếu loại được cung cấp và có thể gọi được, nó sẽ chuyển đổi giá trị, trả về hoặc tăng nếu điều đó là không thể. Trong trường hợp này hàm sẽ trả về giá trị mặc định như khi không tìm thấy giá trị

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1

Thông số
  • key – Từ khóa cần tra cứu
  • mặc định – Giá trị mặc định sẽ được trả về nếu không thể tra cứu khóa. Nếu không được chỉ định thêm Không được trả lại
  • loại - Một khả năng gọi được sử dụng để truyền giá trị trong. Nếu a được nâng lên bởi giá trị có thể gọi này, giá trị mặc định được trả về
lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
7

Hoạt động giống như nhưng không hỗ trợ sửa đổi

Nhật ký thay đổi

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

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
9 []

Trả lại một bản sao nông có thể thay đổi của đối tượng này. Hãy nhớ rằng chức năng của thư viện tiêu chuẩn không hoạt động đối với lớp này giống như đối với bất kỳ loại bất biến python nào khác [ví dụ:. ]

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______83 [ mapping=None ]

A là một lớp con từ điển được tùy chỉnh để xử lý nhiều giá trị cho cùng một khóa, chẳng hạn như được sử dụng bởi các hàm phân tích cú pháp trong trình bao bọc. Điều này là cần thiết vì một số phần tử biểu mẫu HTML chuyển nhiều giá trị cho cùng một khóa

thực hiện tất cả các phương pháp từ điển tiêu chuẩn. Bên trong, nó lưu tất cả các giá trị cho một khóa dưới dạng danh sách, nhưng các phương thức truy cập dict tiêu chuẩn sẽ chỉ trả về giá trị đầu tiên cho một khóa. Nếu bạn cũng muốn có quyền truy cập vào các giá trị khác, bạn phải sử dụng các phương thức danh sách như được giải thích bên dưới

Sử dụng cơ bản

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True

Nó hoạt động giống như một dict bình thường, do đó tất cả các hàm dict sẽ chỉ trả về giá trị đầu tiên khi tìm thấy nhiều giá trị cho một khóa

Từ Werkzeug 0. 3 trở đi, KeyError được đưa ra bởi lớp này cũng là một lớp con của ngoại lệ HTTP

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
6 và sẽ hiển thị một trang cho
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
7 nếu bị phát hiện trong danh sách bắt tất cả các ngoại lệ HTTP

A có thể được xây dựng từ một lần lặp của

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
9 bộ dữ liệu, một dict, a hoặc từ Werkzeug 0. 2 trở đi một số thông số từ khóa

Thông số. ánh xạ – giá trị ban đầu cho. Hoặc là một dict thông thường, một bộ lặp có thể lặp lại của
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
9 bộ dữ liệu hoặc Không có.
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
43 [ khóa, giá trị ]

Thêm một giá trị mới cho khóa

Nhật ký thay đổi

Mới trong phiên bản 0. 6

Thông số
  • key – chìa khóa cho giá trị
  • giá trị – giá trị để thêm vào
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
44 [] → Không có. Xóa tất cả các mục khỏi D.
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
9 []

Trả lại một bản sao nông của đối tượng này

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
46 [ memo=None ]

Trả lại một bản sao sâu của đối tượng này

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
47 []

Tạo một từ điển mới với các khóa từ iterable và các giá trị được đặt thành giá trị

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
2 [ key, default=None, type=None ]

Trả về giá trị mặc định nếu dữ liệu được yêu cầu không tồn tại. Nếu loại được cung cấp và có thể gọi được, nó sẽ chuyển đổi giá trị, trả về hoặc tăng nếu điều đó là không thể. Trong trường hợp này hàm sẽ trả về giá trị mặc định như khi không tìm thấy giá trị

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1

Thông số
  • key – Từ khóa cần tra cứu
  • mặc định – Giá trị mặc định sẽ được trả về nếu không thể tra cứu khóa. Nếu không được chỉ định thêm Không được trả lại
  • loại - Một khả năng gọi được sử dụng để truyền giá trị trong. Nếu a được nâng lên bởi giá trị có thể gọi này, giá trị mặc định được trả về
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
12 [ key, type=None ]

Trả về danh sách các mục cho một khóa nhất định. Nếu khóa đó không có trong MultiDict, giá trị trả về sẽ là một danh sách trống. Giống như get getlist chấp nhận một tham số kiểu. Tất cả các mục sẽ được chuyển đổi với khả năng gọi được xác định ở đó

Thông số
  • key – Từ khóa cần tra cứu
  • loại - Một khả năng gọi được sử dụng để truyền giá trị trong. Nếu a được nâng lên bởi giá trị có thể gọi này, giá trị sẽ bị xóa khỏi danh sách
trả lại

a trong số tất cả các giá trị cho khóa

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
16 [ multi=False ]

Trả về một iterator của

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
9 cặp

Thông số. multi – Nếu được đặt thành True, trình vòng lặp được trả về sẽ có một cặp cho mỗi giá trị của mỗi khóa. Nếu không, nó sẽ chỉ chứa các cặp cho giá trị đầu tiên của mỗi khóa.
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
18 [] → một đối tượng giống tập hợp cung cấp chế độ xem trên các phím của D
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
19 []

Trả về một trình lặp gồm các cặp

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
60, trong đó các giá trị là danh sách tất cả các giá trị được liên kết với khóa

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
61 []

Trả về một trình vòng lặp của tất cả các giá trị được liên kết với một khóa. Nén và điều này cũng giống như gọi

________số 8

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
64 [ khóa, mặc định=không có giá trị ]

Bật mục đầu tiên cho danh sách trên dict. Sau đó, khóa bị xóa khỏi lệnh, vì vậy các giá trị bổ sung sẽ bị loại bỏ

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
4

Thông số
  • chìa khóa - chìa khóa để bật
  • mặc định - nếu được cung cấp giá trị trả về nếu khóa không có trong từ điển
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
65 []

Pop một mục từ dict

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
66 []

Pop một bộ dữ liệu

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
67 từ dict

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
68 [ phím ]

Bật danh sách cho một khóa từ chính tả. Nếu khóa không có trong dict, một danh sách trống sẽ được trả về

Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 5. Nếu khóa không còn tồn tại, một danh sách sẽ được trả về thay vì báo lỗi.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
69 [ key, default=None ]

Trả về giá trị cho khóa nếu nó nằm trong lệnh, nếu không, nó trả về giá trị mặc định và đặt giá trị đó cho khóa

Thông số
  • key – Từ khóa cần tra cứu
  • default – Giá trị mặc định được trả về nếu key không có trong dict. Nếu không được chỉ định thêm thì đó là Không có
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
60 [ key, new_list ]

Xóa các giá trị cũ cho một khóa và thêm các giá trị mới. Lưu ý rằng danh sách mà bạn chuyển các giá trị vào sẽ được sao chép nông trước khi nó được chèn vào từ điển

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
1

Thông số
  • key – Khóa mà các giá trị được đặt
  • new_list – Có thể lặp lại với các giá trị mới cho khóa. Giá trị cũ được loại bỏ đầu tiên
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
61 [ key, default_list=None ]

Giống như setdefault nhưng đặt nhiều giá trị. Danh sách được trả về không phải là bản sao mà là danh sách thực sự được sử dụng nội bộ. Điều này có nghĩa là bạn có thể đặt các giá trị mới vào lệnh bằng cách thêm các mục vào danh sách

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
6

Thông số
  • key – Từ khóa cần tra cứu
  • default_list – Một giá trị mặc định có thể lặp lại. Nó được sao chép [trong trường hợp đó là một danh sách] hoặc được chuyển đổi thành một danh sách trước khi trả về
trả lại

một

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
63 [ flat=True ]

Trả lại nội dung như dict thông thường. Nếu phẳng là True, lệnh được trả về sẽ chỉ có mục đầu tiên, nếu phẳng là Sai, tất cả các giá trị sẽ được trả về dưới dạng danh sách

Thông số. phẳng - Nếu được đặt thành Sai, lệnh được trả về sẽ có các danh sách có tất cả các giá trị trong đó. Nếu không, nó sẽ chỉ chứa giá trị đầu tiên cho mỗi khóa. trả lại. a
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
65 [ other_dict ]

update[] mở rộng thay vì thay thế các danh sách khóa hiện có

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
6

Nếu danh sách giá trị cho khóa trong

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
66 trống, sẽ không có giá trị mới nào được thêm vào lệnh và khóa sẽ không được tạo

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
4

______367 []

Trả về một trình vòng lặp của giá trị đầu tiên trên mỗi danh sách giá trị của khóa

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______369 [ mapping=None ]

Hoạt động như bình thường nhưng giữ nguyên thứ tự của các trường. Để chuyển đổi đa lệnh được sắp xếp thành một danh sách, bạn có thể sử dụng phương pháp

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
41 và chuyển nó vào
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
42

Nói chung an chậm hơn một bậc độ lớn so với a

Ghi chú

Do một giới hạn trong Python, bạn không thể chuyển đổi một lệnh đa lệnh có thứ tự thành một lệnh thông thường bằng cách sử dụng

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
45. Thay vào đó, bạn phải sử dụng phương thức
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
46, nếu không thì các đối tượng bộ chứa bên trong sẽ bị lộ

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______448 [ mapping=None ]

một bất biến

Nhật ký thay đổi

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

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
9 []

Trả lại một bản sao nông có thể thay đổi của đối tượng này. Hãy nhớ rằng chức năng của thư viện tiêu chuẩn không hoạt động đối với lớp này giống như đối với bất kỳ loại bất biến python nào khác [ví dụ:. ]

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______564 [ mapping=None ]

một bất biến

Nhật ký thay đổi

Mới trong phiên bản 0. 6

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
9 []

Trả lại một bản sao nông có thể thay đổi của đối tượng này. Hãy nhớ rằng chức năng của thư viện tiêu chuẩn không hoạt động đối với lớp này giống như đối với bất kỳ loại bất biến python nào khác [ví dụ:. ]

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______000 [ dicts=None ]

Chỉ đọc mà bạn có thể chuyển nhiều phiên bản theo trình tự và nó sẽ kết hợp các giá trị trả về của tất cả các ký tự được bao bọc

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
6

Điều này hoạt động cho tất cả các thao tác đọc và sẽ tăng TypeError cho các phương thức thường thay đổi dữ liệu không thể thực hiện được

Từ Werkzeug 0. 3 trở đi, KeyError được đưa ra bởi lớp này cũng là một lớp con của ngoại lệ HTTP

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
6 và sẽ hiển thị một trang cho
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
7 nếu bị phát hiện trong danh sách bắt tất cả các ngoại lệ HTTP

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
06

một bất biến

Nhật ký thay đổi

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

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
9 []

Trả lại một bản sao nông có thể thay đổi của đối tượng này. Hãy nhớ rằng chức năng của thư viện tiêu chuẩn không hoạt động đối với lớp này giống như đối với bất kỳ loại bất biến python nào khác [ví dụ:. ]

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
12

một bất biến

Nhật ký thay đổi

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

Riêng tư. lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
15 [ mapping=None ]

Một đặc biệt có các phương pháp thuận tiện để thêm tệp vào nó. Điều này được sử dụng cho ________ 017 và thường hữu ích cho thử nghiệm đơn vị

Nhật ký thay đổi

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

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
18 [ name, file, filename=None, content_type=None ]

Thêm một tệp mới vào dict. tệp có thể là tên tệp hoặc giống như

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
19 hoặc đối tượng

Thông số
  • name – tên trường
  • tệp – tên tệp hoặc đối tượng giống như
    >>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
    >>> d
    MultiDict[[['a', 'b'], ['a', 'c']]]
    >>> d['a']
    'b'
    >>> d.getlist['a']
    ['b', 'c']
    >>> 'a' in d
    True
    
    19
  • tên tệp - một tên tệp tùy chọn
  • content_type – một loại nội dung tùy chọn

HTTP liên quan

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______023 [[ mặc định ]]

Một đối tượng lưu trữ một số tiêu đề. Nó có giao diện giống như dict nhưng được sắp xếp theo thứ tự và có thể lưu trữ cùng một khóa nhiều lần

Cấu trúc dữ liệu này hữu ích nếu bạn muốn có một cách tốt hơn để xử lý các tiêu đề WSGI được lưu trữ dưới dạng các bộ trong danh sách

Từ Werkzeug 0. 3 trở đi, lớp được đưa ra bởi lớp này cũng là một lớp con của ngoại lệ HTTP

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
6 và sẽ hiển thị một trang cho một
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
7 nếu bị bắt trong danh sách bắt tất cả các ngoại lệ HTTP

Các tiêu đề hầu hết tương thích với lớp Python, ngoại trừ __getitem__. sẽ trả lại Không có cho

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
29, trong khi sẽ tăng

Để tạo một đối tượng mới, hãy chuyển cho nó một danh sách hoặc lệnh của các tiêu đề được sử dụng làm giá trị mặc định. Điều này không sử dụng lại danh sách được chuyển đến hàm tạo để sử dụng nội bộ

Thông số. mặc định – Danh sách các giá trị mặc định cho. Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 9. Cấu trúc dữ liệu này hiện lưu trữ các giá trị unicode tương tự như cách multi dicts thực hiện. Sự khác biệt chính là các byte cũng có thể được đặt sẽ tự động được giải mã latin1.

Đã thay đổi trong phiên bản 0. 9. Hàm

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
34 đã bị xóa mà không thay thế vì đây là API không hỗ trợ các thay đổi đối với mô hình mã hóa.

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
43 [ _key, _value, **kw ]

Thêm một bộ tiêu đề mới vào danh sách

Đối số từ khóa có thể chỉ định tham số bổ sung cho giá trị tiêu đề, với dấu gạch dưới được chuyển đổi thành dấu gạch ngang

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
0

Kết xuất đối số từ khóa sử dụng

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
36 đằng sau hậu trường

Nhật ký thay đổi

Mới trong phiên bản 0. 4. 1. đối số từ khóa đã được thêm vào để tương thích.

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
38 [ _key, _value, **_kw ]

Thêm một bộ tiêu đề mới vào danh sách

Một bí danh để tương thích với phương pháp

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
44 []

Xóa tất cả các tiêu đề

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
43 [ *args, **kwargs ]

Mở rộng các tiêu đề trong đối tượng này với các mục từ một đối tượng khác có chứa các mục tiêu đề cũng như các đối số từ khóa

Để thay thế các khóa hiện có thay vì mở rộng, hãy sử dụng thay thế

Nếu được cung cấp, đối số đầu tiên có thể là một đối tượng khác, a , hoặc có thể lặp lại các cặp

Đã thay đổi trong phiên bản 1. 0. Hỗ trợ. Cho phép vượt qua

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
49.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
2 [ key, default=None, type=None, as_bytes=False ]>> d = MultiDict[[['a', 'b'], ['a', 'c']]] >>> d MultiDict[[['a', 'b'], ['a', 'c']]] >>> d['a'] 'b' >>> d.getlist['a'] ['b', 'c'] >>> 'a' in d True 1

Nếu một đối tượng tiêu đề bị ràng buộc, bạn không được thêm chuỗi unicode vì không có mã hóa nào diễn ra

Nhật ký thay đổi

Mới trong phiên bản 0. 9. Đã thêm hỗ trợ cho as_bytes.

Thông số
  • key – Từ khóa cần tra cứu
  • mặc định – Giá trị mặc định sẽ được trả về nếu không thể tra cứu khóa. Nếu không được chỉ định thêm Không được trả lại
  • loại - Một khả năng gọi được sử dụng để truyền giá trị trong. Nếu a được nâng lên bởi giá trị có thể gọi này, giá trị mặc định được trả về
  • as_bytes – trả về byte thay vì chuỗi unicode
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
54 [ tên ]

Trả về danh sách tất cả các giá trị cho trường được đặt tên

Phương pháp này phù hợp với phương pháp

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
12 [ key, type=None, as_bytes=False ]

Trả về danh sách các mục cho một khóa nhất định. Nếu khóa đó không có trong , giá trị trả về sẽ là một danh sách trống. Cũng như chấp nhận một tham số loại. Tất cả các mục sẽ được chuyển đổi với khả năng gọi được xác định ở đó

Nhật ký thay đổi

Mới trong phiên bản 0. 9. Đã thêm hỗ trợ cho as_bytes.

Thông số
  • key – Từ khóa cần tra cứu
  • loại - Một khả năng gọi được sử dụng để truyền giá trị trong. Nếu a được nâng lên bởi giá trị có thể gọi này, giá trị sẽ bị xóa khỏi danh sách
  • as_bytes – trả về byte thay vì chuỗi unicode
trả lại

a trong số tất cả các giá trị cho khóa

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
64 [ phím ]

Kiểm tra xem có chìa khóa không

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
64 [ key=None, default=no value ]

Xóa và trả về khóa hoặc chỉ mục

Thông số. key – Phím được bật. Nếu đây là một số nguyên thì mục ở vị trí đó sẽ bị xóa, nếu đó là một chuỗi thì giá trị của khóa đó là. Nếu khóa bị bỏ qua hoặc Không có thì mục cuối cùng sẽ bị xóa. trả lại. một món đồ.
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
65 []

Xóa một khóa hoặc chỉ mục và trả về một mục [khóa, giá trị]

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
67 [ phím ]

Xóa một phím

Thông số. key – Chìa khóa cần xóa.
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
68 [ _key, _value, **kw ]

Xóa tất cả các bộ tiêu đề cho khóa và thêm một bộ mới. Khóa mới được thêm sẽ xuất hiện ở cuối danh sách nếu không có mục nào hoặc thay thế mục đầu tiên

Đối số từ khóa có thể chỉ định tham số bổ sung cho giá trị tiêu đề, với dấu gạch dưới được chuyển đổi thành dấu gạch ngang. Xem để biết thêm thông tin

Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 6. 1. hiện chấp nhận các đối số giống như.

Thông số
  • key – Phím được chèn
  • value – Giá trị được chèn
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
69 [ phím, mặc định ]

Trả về giá trị đầu tiên cho khóa nếu nó nằm trong tiêu đề, nếu không, hãy đặt tiêu đề thành giá trị do

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
73 cung cấp và trả về giá trị đó

Thông số
  • key - Phím tiêu đề để nhận
  • mặc định – Giá trị được đặt cho khóa nếu nó không có trong tiêu đề
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
60 [ khóa, giá trị ]

Xóa mọi giá trị hiện có cho tiêu đề và thêm giá trị mới

Thông số
  • key – Phím tiêu đề để đặt
  • giá trị - Một giá trị có thể lặp lại để đặt cho khóa

Mới trong phiên bản 1. 0

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
61 [ phím, mặc định ]

Trả về danh sách các giá trị cho khóa nếu nó nằm trong tiêu đề, nếu không, hãy đặt tiêu đề thành danh sách các giá trị do

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
73 cung cấp và trả về giá trị đó

Không giống như, việc sửa đổi danh sách trả về sẽ không ảnh hưởng đến các tiêu đề

Thông số
  • key - Phím tiêu đề để nhận
  • mặc định – Một giá trị có thể lặp lại để đặt cho khóa nếu nó không có trong tiêu đề

Mới trong phiên bản 1. 0

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
78 []

Chuyển đổi tiêu đề thành danh sách phù hợp với WSGI

Các giá trị là chuỗi byte trong Python 2 được chuyển đổi thành chuỗi latin1 và unicode trong Python 3 để máy chủ WSGI mã hóa

Trả về. list
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
65 [ *args, **kwargs ]

Thay thế tiêu đề trong đối tượng này bằng các mục từ đối tượng tiêu đề khác và đối số từ khóa

Để mở rộng các khóa hiện có thay vì thay thế, hãy sử dụng thay thế

Nếu được cung cấp, đối số đầu tiên có thể là một đối tượng khác, a , hoặc có thể lặp lại các cặp

Mới trong phiên bản 1. 0

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______085 [ môi trường ]

Phiên bản chỉ đọc của tiêu đề từ môi trường WSGI. Điều này cung cấp giao diện giống như Tiêu đề và được xây dựng từ môi trường WSGI

Từ Werkzeug 0. 3 trở đi, KeyError được đưa ra bởi lớp này cũng là một lớp con của ngoại lệ HTTP

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
6 và sẽ hiển thị một trang cho
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
7 nếu bị phát hiện trong danh sách bắt tất cả các ngoại lệ HTTP

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______089 [ headers=None, on_update=None ]

Tương tự như lớp này thực hiện một cấu trúc giống như tập hợp. Không giống như điều này là phân biệt chữ hoa chữ thường và được sử dụng cho các tiêu đề khác nhau, cho phép và ngôn ngữ nội dung

Nếu không được tạo bằng hàm

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
92, phần khởi tạo sẽ hoạt động như thế này

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
2

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
43 [ tiêu đề ]

Thêm tiêu đề mới vào tập hợp

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
94 [ preserve_casing=False ]

Trả lại tập hợp dưới dạng tập hợp python thực. Khi gọi điều này, tất cả các mục được chuyển đổi thành chữ thường và thứ tự bị mất

Thông số. serve_casing – nếu được đặt thành True, các mục trong tập hợp được trả về sẽ có cách viết hoa ban đầu như trong trường hợp , nếu không chúng sẽ là chữ thường.
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
44 []

Xóa tập hợp

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
97 [ tiêu đề ]

Thích nhưng bỏ qua lỗi

Thông số. tiêu đề - tiêu đề bị loại bỏ.
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
99 [ tiêu đề ]

Trả về chỉ mục của tiêu đề trong tập hợp hoặc trả về -1 nếu không tìm thấy

Thông số. tiêu đề - tiêu đề được tra cứu.
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
00 [ tiêu đề ]

Trả về chỉ mục của tiêu đề trong tập hợp hoặc tăng

Thông số. tiêu đề - tiêu đề được tra cứu.
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
67 [ tiêu đề ]

Xóa tiêu đề khỏi tập hợp. Điều này làm tăng nếu tiêu đề không có trong tập hợp

Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 5. Trong các phiên bản cũ hơn a được nâng lên thay vì a nếu thiếu đối tượng.

Thông số. tiêu đề - tiêu đề cần xóa.
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
06 []

Chuyển đổi bộ tiêu đề thành chuỗi tiêu đề HTTP

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
65 [ có thể lặp lại ]

Thêm tất cả các tiêu đề từ iterable vào tập hợp

Thông số. iterable – cập nhật set với các mục từ iterable. lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
09 [ values=[] ]

Một đối tượng chỉ là một phân lớp danh sách cho danh sách các bộ dữ liệu

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
11. Nó được tự động sắp xếp theo tính đặc hiệu và chất lượng

Tất cả các đối tượng hoạt động tương tự như một danh sách nhưng cung cấp chức năng bổ sung để làm việc với dữ liệu. Kiểm tra ngăn chặn được chuẩn hóa theo quy tắc của tiêu đề đó

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
3

Để có được chất lượng của một mặt hàng, bạn có thể sử dụng tra cứu mặt hàng thông thường

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
4

Đã thay đổi trong phiên bản 1. 0. 0. các giá trị nội bộ không còn được sắp xếp theo thứ tự bảng chữ cái cho các thẻ có chất lượng như nhau. Thay vào đó, thứ tự ban đầu được giữ nguyên.

Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 5. các đối tượng hiện buộc phải bất biến.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
15

Giá trị phù hợp nhất

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
16 [ matches, default=None ]

Trả về kết quả phù hợp nhất từ ​​danh sách các kết quả phù hợp có thể dựa trên tính đặc hiệu và chất lượng của ứng dụng khách. Nếu 2 mặt hàng có chất lượng và độ đặc hiệu như nhau thì mặt hàng nào có trước sẽ được trả lại

Thông số
  • trận đấu – một danh sách các trận đấu để kiểm tra
  • mặc định – giá trị được trả về nếu không khớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
99 [ phím ]

Nhận vị trí của một mục nhập hoặc trả về -1

Thông số. key – Từ khóa cần tra cứu.
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
00 [ phím ]

Nhận vị trí của một mục nhập hoặc nâng cao

Thông số. key – Từ khóa cần tra cứu. Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 5. Điều này được sử dụng để nâng cao, không phù hợp với API danh sách.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
21 [ phím ]

Trả về chất lượng của khóa

Nhật ký thay đổi

Mới trong phiên bản 0. 6. Trong các phiên bản trước, bạn phải sử dụng cú pháp tra cứu mục [ví dụ:.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
22 thay vì
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
23]

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
06 []

Chuyển đổi bộ tiêu đề thành chuỗi tiêu đề HTTP

______367 []

Lặp lại tất cả các giá trị

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______227 [ values=[] ]

Giống như nhưng với các phương thức và hành vi đặc biệt dành cho mô phỏng

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
29

Đúng nếu đối tượng này chấp nhận HTML

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
30

Đúng nếu đối tượng này chấp nhận JSON

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
31

Đúng nếu đối tượng này chấp nhận XHTML

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______233 [ values=[] ]

Thích nhưng với chuẩn hóa cho bộ ký tự

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______236 [ values=[] ]

Thích nhưng với chuẩn hóa cho các thẻ ngôn ngữ

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______239 [ values=[], on_update=None ]

Kiểm soát bộ đệm cho các yêu cầu. Điều này là bất biến và cấp quyền truy cập vào tất cả các tiêu đề kiểm soát bộ đệm liên quan đến yêu cầu

Để lấy lại tiêu đề của đối tượng, bạn có thể chuyển đổi đối tượng thành chuỗi hoặc gọi phương thức

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
41. Nếu bạn định phân lớp nó và thêm các mục của riêng bạn, hãy xem mã nguồn cho lớp đó

Nhật ký thay đổi

Mới trong phiên bản 0. 5. Trong các phiên bản trước đã tồn tại lớp CacheControl được sử dụng cho cả yêu cầu và phản hồi.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
42

trình truy cập cho 'không có bộ đệm'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
43

trình truy cập cho 'không có cửa hàng'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
44

công cụ truy cập cho 'tuổi tối đa'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
45

trình truy cập cho 'không biến đổi'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
46

trình truy cập cho 'max-stale'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
47

trình truy cập cho 'min-fresh'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
48

trình truy cập cho 'chỉ nếu được lưu trong bộ nhớ cache'

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______250 [ values=[], on_update=None ]

Kiểm soát bộ đệm cho phản hồi. Không giống như điều này có thể thay đổi và cấp quyền truy cập vào các tiêu đề kiểm soát bộ đệm liên quan đến phản hồi

Để lấy lại tiêu đề của đối tượng, bạn có thể chuyển đổi đối tượng thành chuỗi hoặc gọi phương thức

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
41. Nếu bạn định phân lớp nó và thêm các mục của riêng bạn, hãy xem mã nguồn cho lớp đó

Nhật ký thay đổi

Mới trong phiên bản 0. 5. Trong các phiên bản trước đã tồn tại lớp CacheControl được sử dụng cho cả yêu cầu và phản hồi.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
42

trình truy cập cho 'không có bộ đệm'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
43

trình truy cập cho 'không có cửa hàng'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
44

công cụ truy cập cho 'tuổi tối đa'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
45

trình truy cập cho 'không biến đổi'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
58

trình truy cập cho 'bất biến'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
59

trình truy cập cho 'phải xác thực lại'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
60

trình truy cập cho 'riêng tư'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
61

trình truy cập cho 'xác thực lại proxy'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
62

trình truy cập cho 'công khai'

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
63

trình truy cập cho 's-maxage'

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______265 [ strong_etags=Không, yếu_etags=Không, star_tag=Sai ]

Một bộ có thể được sử dụng để kiểm tra xem một etag có trong bộ sưu tập các etag hay không

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
94 [ include_weak=False ]

Chuyển đổi đối tượng ETags thành bộ python. Theo mặc định, tất cả các etag yếu không phải là một phần của bộ này

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
67 [ etag ]

Kiểm tra xem một etag có phải là một phần của tập hợp hay không, bỏ qua các thẻ yếu. Cũng có thể sử dụng toán tử

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
68

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
69 [ etag ]

Khi được chuyển một thẻ được trích dẫn, nó sẽ kiểm tra xem thẻ này có phải là một phần của tập hợp không. Nếu thẻ yếu, nó sẽ được kiểm tra đối với các thẻ yếu và mạnh, nếu không thì chỉ thẻ mạnh

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
70 [ etag ]

Kiểm tra xem một etag có phải là một phần của tập hợp bao gồm các thẻ yếu và mạnh không

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
71 [ etag ]

Kiểm tra xem etag có mạnh không

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
72 [ etag ]

Kiểm tra xem etag có yếu không

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
06 []

Chuyển đổi bộ etags thành chuỗi tiêu đề HTTP

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______275 [ auth_type, data=None ]

Đại diện cho một tiêu đề Ủy quyền được gửi bởi khách hàng. Bạn không nên tự tạo loại đối tượng này mà hãy sử dụng nó khi nó được trả về bởi hàm parse_authorization_header

Đối tượng này là một lớp con dict và có thể được thay đổi bằng cách đặt các mục dict nhưng nó phải được coi là bất biến vì nó được máy khách trả về và không dùng để sửa đổi

Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 5. Đối tượng này trở thành bất biến.

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
76

Nếu máy chủ đã gửi tiêu đề qop trong tiêu đề

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
77, thì máy khách phải cung cấp giá trị này cho xác thực thông báo HTTP. Xem RFC để biết thêm chi tiết

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
78

Giá trị đếm nonce được truyền bởi khách hàng nếu tiêu đề qop cũng được truyền. Chỉ xác thực thông báo HTTP

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
79

Thông báo mà máy chủ đã gửi để xác thực thông báo, được khách hàng gửi lại. Một nonce phải là duy nhất cho mọi phản hồi 401 đối với xác thực thông báo HTTP

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
80

Tiêu đề mờ từ máy chủ được máy khách trả về không thay đổi. Khuyến nghị rằng chuỗi này là dữ liệu cơ sở64 hoặc hệ thập lục phân. Chỉ xác thực thông báo

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
81

Khi loại xác thực là cơ bản, đây là mật khẩu được truyền bởi máy khách, nếu không thì Không

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
82

Cho biết "chất lượng bảo vệ" mà khách hàng đã áp dụng cho thông báo xác thực thông báo HTTP. Lưu ý rằng đây là một mã thông báo duy nhất, không phải là danh sách thay thế được trích dẫn như trong WWW-Authenticate

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
83

Đây là lĩnh vực máy chủ được gửi lại cho xác thực thông báo HTTP

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
84

Một chuỗi gồm 32 chữ số hex được tính như được xác định trong RFC 2617, điều này chứng tỏ rằng người dùng biết mật khẩu. Chỉ xác thực thông báo

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
85

URI từ Request-URI của Request-Line; . Chỉ xác thực thông báo HTTP

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
86

Tên người dùng được truyền. Điều này được đặt cho cả xác thực cơ bản và thông báo mọi lúc

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______288 [ auth_type=None, values=None, on_update=None ]

Cung cấp quyền truy cập đơn giản vào các tiêu đề WWW-Authenticate

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
89

Một chuỗi biểu thị một cặp thuật toán được sử dụng để tạo thông báo tóm tắt và tổng kiểm tra. Nếu điều này không xuất hiện, nó được coi là “MD5”. Nếu không hiểu thuật toán, nên bỏ qua thử thách [và sử dụng một thuật toán khác, nếu có nhiều hơn một thuật toán]

static
>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
90 [ name, doc=None ]

Hàm trợ giúp tĩnh cho các lớp con để thêm các thuộc tính hệ thống xác thực bổ sung vào một lớp

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
5

Để biết thêm thông tin, hãy xem mã nguồn để xem cách các thuộc tính thông thường [ v.v. ] được thực hiện

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
92

Danh sách các URI xác định không gian bảo vệ. Nếu URI là một đường dẫn tuyệt đối, thì nó có liên quan đến URL gốc chuẩn của máy chủ đang được truy cập

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
79

Chuỗi dữ liệu do máy chủ chỉ định sẽ được tạo duy nhất mỗi khi phản hồi 401 được thực hiện. Khuyến nghị rằng chuỗi này là dữ liệu cơ sở64 hoặc hệ thập lục phân

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
80

Một chuỗi dữ liệu, do máy chủ chỉ định, sẽ được máy khách trả về không thay đổi trong tiêu đề Ủy quyền của các yêu cầu tiếp theo với các URI trong cùng một không gian bảo vệ. Khuyến nghị rằng chuỗi này là dữ liệu cơ sở64 hoặc hệ thập lục phân

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
82

Một tập hợp các chỉ thị chất lượng của quyền riêng tư như auth và auth-int

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
83

Một chuỗi sẽ được hiển thị cho người dùng để họ biết nên sử dụng tên người dùng và mật khẩu nào. Chuỗi này ít nhất phải chứa tên của máy chủ thực hiện xác thực và có thể chỉ ra thêm tập hợp người dùng có thể có quyền truy cập

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
97 [ realm='yêu cầu xác thực' ]

Xóa thông tin xác thực và bật xác thực cơ bản

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
98 [ realm, nonce, qop=['auth', ], dirty=None, algorithm=None, stale=False< ]

Xóa thông tin xác thực và bật thông báo xác thực

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
99

Cờ, cho biết rằng yêu cầu trước đó từ máy khách đã bị từ chối vì giá trị nonce đã cũ

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
06 []

Chuyển đổi các giá trị được lưu trữ thành tiêu đề WWW-Authenticate

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
01

Loại cơ chế xác thực. HTTP hiện chỉ định

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
02 và
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
03

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______805 [ etag=None, date=None ]

Đối tượng rất đơn giản đại diện cho tiêu đề Phạm vi nếu ở dạng được phân tích cú pháp. Nó sẽ không có etag hoặc ngày hoặc một trong hai nhưng không bao giờ có cả hai

Nhật ký thay đổi

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

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
06 = Không có

Ngày ở định dạng được phân tích cú pháp hoặc Không có

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
07 = Không có

etag được phân tích cú pháp và không được trích dẫn. Phạm vi luôn hoạt động trên etag mạnh nên thông tin về điểm yếu là không cần thiết

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
06 []

Chuyển đổi đối tượng trở lại thành tiêu đề HTTP

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______810 [ đơn vị, phạm vi ]

Đại diện cho một tiêu đề

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
11. Tất cả các phương thức chỉ hỗ trợ byte làm đơn vị. Lưu trữ danh sách các phạm vi nếu được cung cấp, nhưng các phương thức chỉ hoạt động nếu chỉ có một phạm vi được cung cấp

tăng. – Nếu phạm vi được cung cấp không hợp lệ. Nhật ký thay đổi

Đã thay đổi trong phiên bản 0. 15. Các phạm vi được truyền vào đã được xác thực.

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

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
12 [ độ dài ]

Tạo một đối tượng từ phạm vi hiện tại và độ dài nội dung nhất định

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
14 [ độ dài ]

Nếu phạm vi dành cho byte, thì độ dài không phải là Không có và có chính xác một phạm vi và thỏa mãn nó trả về một bộ dữ liệu

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
15, nếu không thì Không có

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
16 = Không có

Một danh sách các bộ dữ liệu

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
17 cho tiêu đề phạm vi được cung cấp. Các phạm vi không bao gồm

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
18 [ độ dài ]

Chuyển đổi đối tượng thành tiêu đề HTTP Phạm vi nội dung, dựa trên độ dài nhất định

>>> d = TypeConversionDict[foo='42', bar='blub']
>>> d.get['foo', type=int]
42
>>> d.get['bar', -1, type=int]
-1
06 []

Chuyển đổi đối tượng trở lại thành tiêu đề HTTP

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
20 = Không có

Các đơn vị của phạm vi này. Thường là "byte"

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______822 [ đơn vị, bắt đầu, dừng, độ dài=None, on_update=None ]>> d = MultiDict[{"foo": [1, 2, 3]}] >>> zip[d.keys[], d.listvalues[]] == d.lists[] True 23

Độ dài của phạm vi hoặc Không có

>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
68 [ bắt đầu, dừng, độ dài=Không, đơn vị='byte' ]>> d = MultiDict[{"foo": [1, 2, 3]}] >>> zip[d.keys[], d.listvalues[]] == d.lists[] True 25

Điểm bắt đầu của phạm vi hoặc Không có

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
26

Điểm dừng của phạm vi [không bao gồm] hoặc Không có. Chỉ có thể là Không nếu cũng bắt đầu là Không

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
20

Đơn vị sử dụng, thường là “byte”

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
28 []

Đặt đơn vị thành Không có nghĩa là tiêu đề không còn được sử dụng nữa

Khác

lớp
>>> d = MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d
MultiDict[[['a', 'b'], ['a', 'c']]]
>>> d['a']
'b'
>>> d.getlist['a']
['b', 'c']
>>> 'a' in d
True
7_______830 [ stream=None, filename=None, name=None, content_type=None, content_length=None, headers=None< ]

Lớp này là một lớp bao bọc mỏng trên các tệp đến. Nó được sử dụng bởi đối tượng yêu cầu để đại diện cho các tệp đã tải lên. Tất cả các thuộc tính của luồng trình bao bọc được ủy quyền bởi bộ lưu trữ tệp để có thể thực hiện

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
32 thay vì dạng dài
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
33

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
34

Luồng đầu vào cho tệp đã tải lên. Điều này thường trỏ đến một tệp tạm thời đang mở

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
35

Tên tệp của tệp trên máy khách

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
36

Tên của trường biểu mẫu

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
37

Các tiêu đề nhiều phần như đối tượng. Điều này thường chứa thông tin không liên quan nhưng kết hợp với các yêu cầu nhiều phần tùy chỉnh, các tiêu đề thô có thể thú vị

Nhật ký thay đổi

Mới trong phiên bản 0. 6

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
39 []

Đóng tệp cơ bản nếu có thể

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
40

Độ dài nội dung được gửi trong tiêu đề. Thường không có sẵn

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
41

Loại nội dung được gửi trong tiêu đề. Thường không có sẵn

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
42

Like , nhưng không có tham số [ví dụ: không có bộ ký tự, hãy nhập, v.v. ] và luôn viết thường. Ví dụ: nếu loại nội dung là

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
44 thì mimetype sẽ là
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
45

Nhật ký thay đổi

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

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
46

Các tham số mimetype như dict. Ví dụ: nếu loại nội dung là

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
47 thì thông số sẽ là
>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
48

Nhật ký thay đổi

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

>>> d = MultiDict[{"foo": [1, 2, 3]}]
>>> zip[d.keys[], d.listvalues[]] == d.lists[]
True
49 [ dst, buffer_size=16384 ]

Lưu tệp vào đường dẫn đích hoặc đối tượng tệp. Nếu đích là một đối tượng tệp, bạn phải tự đóng nó sau cuộc gọi. Kích thước bộ đệm là số byte được giữ trong bộ nhớ trong quá trình sao chép. Nó mặc định là 16KB

Chủ Đề