Как анализировать/читать PST-файлы Outlook с помощью Python? ⇐ Python

Программы на Python
Anonymous
Как анализировать/читать PST-файлы Outlook с помощью Python?

Сообщение Anonymous »

Поиск в Интернете для доступа к PST-файлам Outlook с помощью Python дает очень мало результатов (и большая часть показанного материала устарела). Кто-нибудь знает, как читать PST с библиотекой или без нее? К сожалению, я недостаточно хорош в программировании, чтобы создать PST-ридер без помощи библиотеки.
Моя цель — получить следующую информацию о контенте:
  • Количество элементов в папке
  • Тип элемента (Почта, Встреча, Контакт...)
    < li>Размер элементов
  • Вложения, включая размер
  • могут быть другие метаданные, такие как дата, получатели и т. д. (необязательно)
Я уже пробовал следующее:
  • libpff / pypff : происходит сбой, и кажется, что перед тем как что-то сделать, файл читается в памяти целиком (нет хорошего решения, поскольку PST-файлы хранятся в медленном сетевом хранилище).
  • Libratom: та же проблема, что и на основе libpff.
  • Libpst : неясно, как это используется/поставляется в виде двоичного файла (без объяснений, как установить)/см. ответ в этом сообщении/похоже, не поддерживается и не обновляется.
  • win32 (монтирование PST в Outlook): в одном руководстве показано, как смонтировать PST в локально установленный Outlook и получить содержимое с помощью MAPI-доступа, но это тоже очень , очень медленно и не является хорошим решением, поскольку необходим Outlook.
  • Asponse Email Python: многообещающе в начале хотя документация не очень хорошая (нет примеров Python/разные названия, например. для объекта PersonalStorage и многих других / останавливается после 50 элементов в папке (возможно, это ограничение платной версии, но неясно из-за отсутствия объяснений на веб-сайте издателя).
Это пример с сайта Asponse:

Код: Выделить всё

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

Вернуться в «Python»