新しいサブディレクトリのディレクトリを監視し、ループ内の各サブディレクトリに作用する python スクリプトを作成しました。これらのサブディレクトリを作成する外部プロセスがあります。各サブディレクトリ内には、テキスト ファイルと多数の画像があります。テキスト ファイルには、画像ごとに 1 つのレコード (行) があります。サブディレクトリごとに、スクリプトはテキスト ファイルをスキャンし、いくつかの外部プログラムを呼び出します。1 つは空白の画像 (カスタム exe) を検出し、次に「mogrify」(ImageMagick の一部) を呼び出して画像のサイズを変更して変換し、最後に 7 を呼び出します。 -zip は、変換されたすべての画像とテキスト ファイルを 1 つのアーカイブにパッケージ化します。
スクリプトは正常に実行されますが、現在はシーケンシャルです。各サブディレクトリを一度に 1 つずつループします。これはデュアル CPU マシン (合計 8 コア) で実行されているため、マルチプロセッシングを実行する良い機会になると思います。
特定のサブディレクトリの処理は、他のすべてのサブディレクトリから独立しています...それらは自己完結型です。
現在、os.listdir() への呼び出しを使用してサブディレクトリのリストを作成し、そのリストをループしています。サブディレクトリごとのコード (変換など) をすべて別の関数に移動してから、各サブディレクトリを処理する別のプロセスを何らかの方法で作成できると思います。私は Python に少し慣れていないので、そのようなマルチプロセッシングにアプローチする方法についていくつかの提案をいただければ幸いです。Python 2.6 を実行している Vista x64 を使用しています。