Execute o script python quando um arquivo foi adicionado a uma pasta?

1

É possível executar um script Python quando um arquivo foi adicionado a uma pasta?

No meu cenário eu tenho uma pasta que contém filmes e o script Python obtém os detalhes (nome, ano, plotagem, classificação, etc) do OMDb e os coloca em um arquivo, que o MySQL usa.

Sempre que adiciono um filme, tenho que executar o script Python.

Eu quero saber se é possível executar automaticamente o script Python quando um arquivo foi adicionado à pasta?

Obrigado antecipadamente.

    
por Hp123 03.08.2015 / 18:15

2 respostas

3

Considerando uma pasta exclusiva onde você adiciona arquivos com frequência.

  • Construa um script (Python e Bash são boas opções) que circula por tamanho de pasta a cada 'n' segundos (ou minutos, com que frequência você adiciona arquivos?).

  • Sempre que um novo arquivo for criado, o tamanho será alterado e o script deverá acionar uma função que pesquisa o último arquivo adicionado, obtém as informações necessárias sobre o arquivo e inicia seu script Python.

Você pode integrar facilmente as descrições acima ao seu script Python existente.

Se você tiver várias pastas, poderá torná-la recursiva.

Deixe-me saber se você não consegue perceber como fazê-lo e eu vou ajudá-lo.

Boa sorte!

    
por lenord 03.08.2015 / 18:34
0

Criar script de wrapper watch_folder :

#!/bin/bash
FILE=""
if [ "${FILE##*.}" = "mov" ]
then
    your_python_script "/"
fi
exit 0

torne-o executável:

chmod +x <watch_folder>

Assista sua pasta:

inoticoming <your_movie_folder> <path_of_watch_foldet_script> {} <your_movie_folder> \;

Seu script python é iniciado em cada novo arquivo na pasta com o caminho completo do nome do arquivo.

    
por A.B. 03.08.2015 / 18:48