Vorrei monitorare il filesystem in python, in modo che la mia applicazione venga avvisata della nuova aggiunta di file, della rimozione di file o del cambio di file. Una volta che il file viene rilevato, l'applicazione inizia ad estrarre i dati contenuti attraverso vari plugin. Il problema è che mi occupo di file di grandi dimensioni e quando l'utente inizia a copiare un file dall'esterno nella directory controllata, verrà rilevato, ma apparirà danneggiato. Controllare la dimensione del file tra le chiamate è potenzialmente una buona strategia, ma ignora il fatto che altri generatori del file (come wget) potrebbero avere lunghe pause quando il file non sta cambiando di dimensioni, e tuttavia non è stato completato. Non ho il controllo del formato di file che sto scaricando, quindi non posso controllare la presenza di un marchio di fine file, perché non potrebbe essere lì.
Esiste un modo multipiattaforma (o modi diversi, specifici per piattaforma per linux e windows) per risolvere questo problema? Posso controllare se un file è attualmente aperto in qualche modo? In che modo questo problema viene risolto con altri software?