ディレクトリをスキャンして新しいファイルがいつ追加されるかを確認し、その内容を処理するスクリプトがあります。それらはビデオファイルであるため、多くの場合非常に大きく、ネットワークを介して転送され、転送に長い時間がかかることがよくあります。したがって、先に進む前に、コピーが完了していることを確認する必要があります。
現時点では、ディレクトリで新しいファイルを見つけたら、os.path.mtimeを使用して変更日を確認し、それをファイルが最後にスキャンされたときと比較して、まだ変更されているかどうかを確認します。 。理論は、それがもはや変更されていない場合、それは転送を終了する必要があるということです。
if getmtime(path.join(self.rootFolder, thefile)) < self.lastchecktime: newfiles.append[thefile]
しかし、それは機能していないようです。スクリプトのトリガーが早すぎて、ファイルが完全にロードされていないために処理が失敗します。スキャンの間に十分な休止がなく、mtimeが同じままである可能性がありますか?スキャンの間隔は10秒です。確かにそれで十分です。
これを行う簡単でよりPython的な方法はありますか?ファイルは、VM上で実行されているWindowsサーバー上にあります。