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.py
e 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])