email.iterators: Trình vòng lặp¶
Source code: Lib/email/iterators.py
Việc lặp lại cây đối tượng thông báo khá dễ dàng với phương thức Message.walk. Mô-đun email.iterators cung cấp một số lần lặp cấp cao hơn hữu ích trên cây đối tượng thông báo.
- email.iterators.body_line_iterator(msg, decode=False)¶
Việc này lặp lại tất cả các tải trọng trong tất cả các phần con của msg, trả về các tải trọng chuỗi theo từng dòng một. Nó bỏ qua tất cả các tiêu đề của phần con và nó bỏ qua bất kỳ phần con nào có tải trọng không phải là chuỗi Python. Điều này phần nào tương đương với việc đọc phần trình bày văn bản phẳng của tin nhắn từ một tệp bằng
readline(), bỏ qua tất cả các tiêu đề can thiệp.decode tùy chọn được chuyển tới
Message.get_payload.
- email.iterators.typed_subpart_iterator(msg, maintype='text', subtype=None)¶
Điều này lặp lại trên tất cả các phần con của msg, chỉ trả về những phần con phù hợp với loại MIME được chỉ định bởi maintype và subtype.
Lưu ý rằng subtype là tùy chọn; nếu bị bỏ qua, thì việc khớp loại phần con MIME chỉ được thực hiện với loại chính. maintype cũng là tùy chọn; nó mặc định là text.
Do đó, theo mặc định,
typed_subpart_iterator()trả về từng phần con có loại MIME là text/*.
Chức năng sau đã được thêm vào như một công cụ gỡ lỗi hữu ích. Nó nên được coi là not một phần của giao diện chung được hỗ trợ cho gói.
- email.iterators._structure(msg, fp=None, level=0, include_default=False)¶
In bản trình bày thụt lề của các loại nội dung của cấu trúc đối tượng thông báo. Ví dụ:
>>> tin nhắn = email.message_from_file(somefile) >>> _cấu trúc (tin nhắn) nhiều phần/hỗn hợp văn bản/đồng bằng văn bản/đồng bằng nhiều phần/tiêu hóa tin nhắn/rfc822 văn bản/đồng bằng tin nhắn/rfc822 văn bản/đồng bằng tin nhắn/rfc822 văn bản/đồng bằng tin nhắn/rfc822 văn bản/đồng bằng tin nhắn/rfc822 văn bản/đồng bằng văn bản/đồng bằng
Tùy chọn fp là một đối tượng giống như tệp để in đầu ra. Nó phải phù hợp với hàm
print()của Python. level được sử dụng nội bộ. include_default, nếu đúng, cũng in kiểu mặc định.