Как передать буферный / файловый объект python в библиотеку, которая ожидает имя файла без записи буфера на диск? - PullRequest
0 голосов
/ 26 февраля 2019

Вот пример, который довольно близок к моему реальному сценарию использования:

import skvideo.io
from smart_open import smart_open

with smart_open("s3://{}/{}".format("my_bucket", resource_key)) as f:
    magic = NamedInMemoryTempFile(f, "video.vp8")  # is there sth like that?
    print(magic)  # probably sth. like "/python/fakepath/video.vp8"
    frames = skvideo.io.vread(magic)  # some lib that expects a filename :/ ...
    do_something_with(frames)
  • Я использую smart_open для непосредственного чтения файла из AWS S3 в память
  • Я хотел быиспользовать skvideo для декодирования видеофайла в 4-мерный массив NumPy.Но skvideo не предоставляет интерфейс для передачи видео напрямую в виде буфера, а только как имя файла

Так что я ищу способ сохранить содержимое в памяти и избежать записи на диск для повышения производительности.причины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...