Как преобразовать объект Python mmap.mmap в строку? - PullRequest
1 голос
/ 26 мая 2019

Я создаю программу, работающую на Bottle , и использую ключевое слово yield с объектом mmap.mmap для отправки нескольких сопоставленных файлов в потоке вывода, как показано в этом коде:

for mapping in mappings:
  yield mapping

Это не работает "из коробки", потому что Bottle хочет string (см. Раздел Итерируемые и генераторы ), и когда я использую str(mapping), это возвращает объектсам по себе не содержимое.

Итак, я хочу преобразовать объект mmap в string, который содержит содержимое файла.

I 'Я думаю, как программист C, который просто хочет поставить необработанный указатель

1 Ответ

2 голосов
/ 26 мая 2019

После поиска в Google в течение нескольких часов.Я обнаружил, что простое использование bytes(mapping) работает.

    for mapping in mappings:
        yield bytes(mapping)

Этот способ, похоже, не делает временную копию сопоставленных данных

...