あるフォルダーから別のフォルダーにいくつかのファイルを移動できるスクリプトをPythonで作成しました。これは、ファイルが静的なときにオンになります。私の問題は、トレントプログラムがまだファイルをダウンロードしているため、ファイルが「不完全」な場合に発生します。
「移動」操作を実行する前に、ファイルが不完全/まだダウンロードされている場合、どのようにPythonで確認できますか?そのファイルで操作を実行するのを待つ必要があることを知っていますか?
なぜなら、スクリプトを実行してもファイルがまだダウンロードされているのであれば、破損したファイルを移動することになりますが、これはあまり良くありません。
だから、ファイルがPythonで変更されているかどうかをどのように知ることができますか?
トレントクライアントとして、Tixatiを使用しています。
Tixatiでこのオプションを見つけることができませんでした(つまり、部分的なファイルのサフィックスに)。私が考えることができる1つのソリューションは、「ディレクトリファイルへのファイルを完了」オプションを使用することです...しかし、大きなファイルをダウンロードする場合、それは多くのhddファイルを移動することになります。
—
Con7e 14年
HDDがどれだけ耐えられるかに驚くでしょう。データのチャンクの移動(ほとんどは順次読み取りと書き込み)は比較になりません。ただし、パーティション内でファイルを移動しても、データは移動されません。古いディレクトリからファイルが削除され、新しいディレクトリに追加されるだけです。
—
grawity
はい。ディレクトリ構造は、ディスク上のデータの物理的な場所とはまったく関係がありません。ファイルにデータを書き込むと、OSは適切な空き領域を見つけた場所にデータを置きます。///最も基本的なレベルでは、「ディレクトリ」にはファイルへのポインタのリストがあります。同様に、「ファイル」には、実際のデータブロックへのポインタのリストがあります。ファイルを移動すると、OSは古いディレクトリを更新してそのファイルへのポインターを削除し、新しいディレクトリを更新して同じファイルにポインターを追加します。ファイル自体は変更されていません。
—
grawity
これは、同じパーティション内で移動/名前変更を行う場合にのみ適用されます。もちろん、同じディスク上または異なるパーティション上に複数のパーティションがある場合(例:
—
grawity
C:
+ D:
+ E:
または/
+ /home
+ /mnt/movies
)、それぞれ独立した構造を持ち、データが必要ですあるパーティションから別のパーティションに実際に移動されます。(あなたは2枚のディスク間の巨大なファイルを移動した場合でも、再び、それは1から単純なシーケンシャルリードだし、他に書き込むことがランダムシークよりも少し小さいディスクを株。。)
.part
か.!ut
、ダウンロード後にスクリプトを実行するオプションがあります。