Моя цель — получить следующую информацию о контенте:
- Количество элементов в папке
- Тип элемента (Почта, Встреча, Контакт...)
< li>Размер элементов - Вложения, включая размер
- могут быть другие метаданные, такие как дата, получатели и т. д. (необязательно)
- libpff / pypff : происходит сбой, и кажется, что перед тем как что-то сделать, файл читается в памяти целиком (нет хорошего решения, поскольку PST-файлы хранятся в медленном сетевом хранилище).
- Libratom: та же проблема, что и на основе libpff.
- Libpst : неясно, как это используется/поставляется в виде двоичного файла (без объяснений, как установить)/см. ответ в этом сообщении/похоже, не поддерживается и не обновляется.
- win32 (монтирование PST в Outlook): в одном руководстве показано, как смонтировать PST в локально установленный Outlook и получить содержимое с помощью MAPI-доступа, но это тоже очень , очень медленно и не является хорошим решением, поскольку необходим Outlook.
- Asponse Email Python: многообещающе в начале хотя документация не очень хорошая (нет примеров Python/разные названия, например. для объекта PersonalStorage и многих других / останавливается после 50 элементов в папке (возможно, это ограничение платной версии, но неясно из-за отсутствия объяснений на веб-сайте издателя).
Код: Выделить всё
personalStorage = PersonalStorage.from_file(dataDir + "Outlook.pst")
folderInfoCollection = personalStorage.root_folder.get_sub_folders()
for folderInfo in folderInfoCollection:
print("Folder: " + folderInfo.display_name)
print("Total Items: " + str(folderInfo.content_count))
print("Total Unread Items: " + str(folderInfo.content_unread_count))
print("----------------------")
Есть ли у кого-нибудь стабильный и понятный подход к чтению файлов Outlook PST ? Даже решение с использованием Asponse было бы здорово, если бы оно превышало лимит в 50 элементов.
Подробнее здесь: https://stackoverflow.com/questions/699 ... ith-python