Подтвердить что ты не робот

PIL image show() не работает на Windows 7

Я хотел бы показать изображение с помощью python на окнах и других платформах. Когда я это сделаю:

from PIL import Image
im = Image.open('image.png')
im.show()

открывается мой просмотрщик по умолчанию и сообщает мне, что Windows Photo Viewer can't open this picture because either this file was deleted и т.д.

Файл, вероятно, удален, потому что PIL вызывает os со следующей командой: "start /wait %s && del /f %s" % (file, file)

Я нашел обходное решение здесь. Они рекомендуют изменить код PIL на "start /wait %s && PING 127.0.0.1 -n 5 > NUL && del /f %s" % (file, file). Тем не менее, я хочу, чтобы другие могли использовать мой код.

Есть ли простое решение? Должен ли я искать альтернативу PIL, которая будет работать на кроссплатформе?

4b9b3361

Ответ 1

Хорошо, нашел решение здесь:

import webbrowser
webbrowser.open('image.png')

Он открывает средство просмотра по умолчанию, а не браузер, на моей машине.

Кроме того, существует os.startfile.

Ответ 2

Если вы хотите, чтобы он был открыт только маслом MS, вы можете использовать:

start /wait mspaint %s && del /f %s" % (file, file)

/wait не имеет никакого эффекта, если имя файла указано напрямую.

Ответ 3

Когда появится средство просмотра фотографий, Перейдите в главное меню → Open- > Choice Program → Выбрать Paint
По-испански → Абрир- > Elegir Programa → seleccionar Paint

ссылка на изображение: изображение