загрузить изображения, которые меняют имя файла - PullRequest
3 голосов
/ 19 марта 2019

У меня есть Raspberry Pi и Picamera, которая делает фотографии и отображает их с помощью Pygame. Я изменил код captude, чтобы сохранить дату и время, и он отлично работает.

import datetime
import time
date = datetime.datetime.now().strftime("%m_%d_%Y_%H_%M_%S")
     camera.capture("/home/pi/photobooth/"+ date + ".jpg")

У меня вопрос к функции загрузки изображений в Pygame, как мне открыть последнее сохраненное изображение. При сохранении большего количества изображений имя файла изменится.

pygame.init()
     screen = pygame.display.set_mode([1024, 780], pygame.NOFRAME) 
     image  = pygame.image.load('image.jpg')
     screen.blit(image, (0,0)) 
     pygame.display.flip()

Как мне загрузить последнее сохраненное изображение, а затем закрыть Pygame? Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 19 марта 2019

Если вы используете формат даты ISO-8601 - ГГГГ-ММ-ДД (сортировка по алфавиту), это будет последний файл в списке каталогов.

import datetime
import time

date = datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
camera.capture("/home/pi/photobooth/"+ date + ".jpg")

А затем получите отсортированный список каталогов, так что последний файл будет самым последним:

import os.path
import glob

PATH='/home/pi/photobooth/'

# Get a list of image files
file_list = [ f for f in glob.glob( os.path.join( PATH, "*.jpg" ) ) ]
file_list.sort()

new_image = file_list[-1]  # relies on dates sorting alphabetically and temporally

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