>> Tecnologia Eletrônica >  >> Câmeras >> Câmeras de Vídeo

Script Python para Visualizar Todas Imagens numa Pasta (PIL/Pillow)

Aqui está um script Python limpo, multiplataforma, usando Pillow (PIL) para abrir e exibir todo JPEG/PNG no diretório atual. Funciona em Windows, macOS, Linux.

Pré-requisitos

pip install pillow 

Script: view_images.py

#!/usr/bin/env python3 \"\"\" Exibe todas imagens JPEG/PNG no diretório de trabalho atual usando Pillow. Cada imagem abre no visualizador padrão do SO (ou .show() built-in do Pillow). Pressione Enter no terminal para avançar à próxima imagem. \"\"\" from pathlib import Path from PIL import Image import sys def main(): cwd = Path.cwd() # Extensões suportadas (case-insensitive) exts = {'.jpg', '.jpeg', '.png', '.JPG', '.JPEG', '.PNG'} image_files = sorted([f for f in cwd.iterdir() if f.suffix in exts]) if not image_files: print(f"Nenhuma imagem JPEG/PNG encontrada em {cwd}") sys.exit(0) print(f"Encontradas {len(image_files)} imagem(ns). Pressione Enter para ver cada, 'q' + Enter para sair.") for img_path in image_files: try: img = Image.open(img_path) print(f"\n→ {img_path.name} ({img.width}×{img.height}, {img.mode})") img.show() # Abre no visualizador padrão do SO (Preview, Photos, Eye of GNOME, etc.) except Exception as e: print(f" ✗ Falha ao abrir {img_path.name}: {e}") continue # Aguarda usuário try: user_in = input(" [Enter=próximo, q=sair] ").strip().lower() if user_in == 'q': break except (EOFError, KeyboardInterrupt): break print("\nPronto.") if __name__ == "__main__": main() 

Como Funciona

  • Path.cwd() obtém pasta atual.
  • iterdir() + filtro sufixo encontra imagens.
  • Image.open() lê metadados sem carregar raster completo (lazy).
  • img.show() salva BMP/PNG temporário e lança visualizador do SO — non-blocking.
  • Loop aguarda sua tecla antes da próxima imagem.

Melhorias que Você Pode Querer

  • Busca recursiva: cwd.rglob('*').
  • Redimensionar imagens grandes para preview mais rápido: img.thumbnail((1920,1080)) antes de show().
  • Auto-rotação EXIF: ImageOps.exif_transpose(img).
  • Versão GUI com tkinter ou PyQt para próximo/anterior/zoom/deletar.

Salve, chmod +x view_images.py, rode da sua pasta de fotos. Simples, poucas dependências, funciona onde Python roda.