Abra o arquivo mais recente dentro de um diretório com seu aplicativo padrão
O script abaixo abrirá o arquivo mais recente dentro do diretório ~/Pictures . Independentemente de como o arquivo é nomeado ou quando o script é executado.
É claro que você pode definir qualquer outro diretório para usar, ou qualquer aplicativo para abrir o arquivo.
O script
#!/usr/bin/env python3
import subprocess
import os
from operator import itemgetter
dr = os.path.join(os.environ["HOME"], "Pictures")
files = [os.path.join(dr, f) for f in os.listdir(dr)]
latest = sorted([[f, os.path.getmtime(f)] for f in files], key=itemgetter(1))[-1][0]
subprocess.Popen(["xdg-open", latest])
Para usar
- Copie o script em um arquivo vazio, salve-o como
open_latest.py -
Execute:
python3 /path/to/open_latest.pye o arquivo mais recente será aberto por seu aplicativo padrão.
Notas
-
Para usar outro diretório, altere a linha
dr = os.path.join(os.environ["HOME"], "Afbeeldingen")em, por exemplo,
dr = "/path/to/dir"mas não use caminhos como
$HOME, que não funcionam em python -
Para usar um aplicativo específico em vez do padrão, altere a linha:
subprocess.Popen(["xdg-open", latest])em p.
subprocess.Popen(["eog", latest])
Explicação
O script:
-
define o diretório Pictures dentro do diretório
$HOME:dr = os.path.join(os.environ["HOME"], "Pictures") -
lista os arquivos:
files = [os.path.join(dr, f) for f in os.listdir(dr)] -
classifica os arquivos por data de modificação (
os.path.getmtime(f)), obtenha o mais recente:latest = sorted([[f, os.path.getmtime(f)] for f in files], key=itemgetter(1))[-1][0] -
abra o arquivo com seu aplicativo padrão:
subprocess.Popen(["eog", latest])