Как найти последнюю фотографию и открыть ее - Photo Booth - PullRequest
0 голосов
/ 10 декабря 2018

Я нашел код, чтобы найти последний файл, сохраненный в папке, но мне нужно открыть этот файл на некоторое время, а затем закрыть его.Можно ли это сделать?

Вот код, который я использую, чтобы найти последнюю версию .jpg

import glob
import os

list_of_files = glob.glob('/home/pi/webcam/*.jpg')
latest_file = max(list_of_files, key=os.path.getctime)
print latest_file

Я попробовал следующее, код работает, но ничего не происходит:

from PIL import Image
import glob
import os

list_of_files = glob.glob('/path/to/folder/*.jpg')
latest_file = max(list_of_files, key=os.path.getctime)

img = Image.open(latest_file)
img.show()

Я пытаюсь встроить это в booth.py

Вот моя попытка на данный момент (с предложениями ниже)

Я нашел эти коды в переполнении стека

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Установка ImageMagick решена проблема открытия образа:

sudo apt-get install  -y imagemagick
0 голосов
/ 10 декабря 2018

В существующем состоянии ваша программа открывает окно, начинает выходить и закрывает окно.Это, вероятно, происходит быстрее, чем анимация открытия окна вашей операционной системы.

Попробуйте:

from PIL import Image
import glob
import os
from time import sleep

list_of_files = glob.glob('/path/to/folder/*.jpg')
latest_file = max(list_of_files, key=os.path.getctime)

img = Image.open(latest_file)
img.show()
sleep(10)

Если это решит вашу проблему, то отлично!Если вы хотите сделать это постоянной вещью, запустите поток, не являющийся демоном, с помощью вызова img.show(), который завершается только после закрытия созданного окна.(Вы, вероятно, можете выяснить, как это сделать ... возможно. Я не могу!)

Причина, по которой os.startfile(playlist) не работает, заключается в том, что os.startfile является функцией только для Windows.Вы используете Python 2, и единственная разумная причина, по которой я могу это придумать, - это управление выводами Raspberry Pi GPIO;он не будет доступен на этой платформе.

...