Загрузить изображение из входного потока в Python - PullRequest
2 голосов
/ 06 января 2012

Я использую Python Imaging Library для некоторой обработки, и я хотел бы передать свой сценарий данными через канал, а не передавать имя файла в качестве аргумента.

Я видел, что Image.open может принимать любой файлоподобный объект, кроме строки, в качестве параметра. Я пытался передать sys.stdin напрямую, но, похоже, у него проблемы с seek (логически).

Итак, как мне обернуть поток в буфер, который обеспечивает все операции с файлами? (или другое подходящее решение для чтения изображения непосредственно с stdin).

1 Ответ

3 голосов
/ 06 января 2012

Использование StringIO.

import StringIO
import sys

filelike = StringIO.StringIO(sys.stdin.read())

# Now use `filelike` as a regular open file, e.g.:
filelike.seek(2)
print filelike.read()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...