150-200MBのファイルを毎日多くの場所(世界中にある共有ドライブ)に転送しています。問題は、各転送(shutilを使用)はおそらく100〜700秒かかることであり、次の転送を開始するためにはそれぞれ完了する必要があるということです。このようにすれば、いくつかのファイルを転送するのに今一時間かかるようになります。私の一時的な解決策は、各場所で同時に実行できるように別々の.pyファイルを作成することでしたが、それは理想的ではありません。ファイルを複数のパスに同時にコピーする
マルチスレッドプログラミングにはどうすればいいですか?一度にすべての転送を実行したいと思いますが、これにはゼロの経験があります。
https://docs.python.org/3/library/concurrent.futures.html:
シンプルなGoogle検索をして私を上陸させました。
import shutil
with ThreadPoolExecutor(max_workers=4) as e:
e.submit(shutil.copy, 'src1.txt', 'dest1.txt')
e.submit(shutil.copy, 'src2.txt', 'dest2.txt')
e.submit(shutil.copy, 'src3.txt', 'dest3.txt')
e.submit(shutil.copy, 'src4.txt', 'dest4.txt')
誰かが正しい方向に向かうことができますか?私は、しばらくの間、物事を並行して行う方法を学ぶことを意味してきましたが、決してそれを回避しませんでした。
[このポスト](http://stackoverflow.com/questions/20887555/dead-simple-example-of-using-multiprocessing-queue-pool-and-locking)はあなたを助けるでしょう。私は、受け入れられた答えが役に立つ例であることを発見しました。 – PyNoob
ファイルの名前を変更することもできます。それは正しいですか? – martineau
そのコードスニペットは、私がリンクしているドキュメントのものです(私がctrl + Fをシャットルに使用したとき)。私は名前を変更することはありません。 shutil.copy2( '../ dashboard.twbx'、 '//共有パス/地域/ダッシュボード/') – trench