迷茫2017-04-17 17:31:19
実際の状況 (実行プラットフォーム、アプリケーション要件) に応じて選択できるオプションのソリューションがいくつかあります。
オプション 1: Python を使用してローカル rsync プログラムへの呼び出しをカプセル化します
要件が比較的単純で、実行中のプラットフォームで使用可能なローカル rsync プログラムがある場合は、サブプロセス モジュールを使用して呼び出しコマンドをカプセル化できます。 rsync に送信します (OS モジュールのカプセル化を使用することもできます。原理は同じです)。例:
このソリューションの利点は、実装が簡単でバグが発生しにくいことです。欠点は、Windows プラットフォームで実行している場合はさらに面倒で、cygwin などを介してローカルの rsync プログラムをインストールする必要があることです。
オプション 2、rsync プロトコルの Python 実装:
Vivian De Smedt は、Bitbucket 上で rsync の Python 実装を提供しています。これは非常に小さく、わずか 15 KB です。
https://bitbucket.org/vds2212/rsync.py
このアプローチの利点は、プラットフォームに依存せず、Python を実行する任意のプラットフォームで使用できることです。ただし、これは個人的な実装であるため、バグがある可能性があり、標準の rsync と互換性がなく、スクリプトの使用方法を習得するのに時間がかかる場合があります。
Python スクリプトで rsync を呼び出して、Linux プラットフォーム上で自動化された毎日のメンテナンス タスクを完了することが目的の場合は、最初のオプションをお勧めします。
天蓬老师2017-04-17 17:31:19
はは、関連モジュールの検索はありません....
pypi を検索するだけでいくつか見つかります。
https://pypi.python.org/pypi?%3Aaction=search&term=rsync&submit =検索