1

私はpython初心者です。私の質問は、以下で説明するように、ファイル/ディレクトリのバックアップルーチンをセットアップするためにどのアプローチを使用する必要があるかです (os.walk または filecmp.dircmp など)。

次のようにバックアップ ルーチンを設定します。

  1. 毎晩、「bakup_dir_a1」(およびそのすべてのサブディレクトリ) を「local_dir_a」(およびそのすべてのサブディレクトリ) のミラーにしたいと考えています。しかし、毎晩。. .

  2. まず、local_dir_a (およびそのすべてのサブディレクトリ) と bakup_dir_a1 (およびそのすべてのサブディレクトリ) を比較して、相違点を特定します。

  3. 次に、bakup_dir_a1 (およびそのすべてのサブディレクトリ) にファイルのリスト (ファイル名を含むフル パス) を作成します。このリストは、local_dir_a (およびそのすべてのサブディレクトリ) からコピーされた新しいファイルに置き換えられます。新しいファイルと古いファイル。

  4. 次に、bakup_dir_a1 (およびそのすべてのサブディレクトリ) にファイルのリスト (ファイル名を含むフル パス) を作成します。このリストは、bakup_dir_a (およびそのすべてのサブディレクトリ) から単純に削除されます。

  5. 次に、段落番号で特定されたすべてのファイルのコピーを含むアーカイブ (.rar または .zip) を bakup_dir_a2 に作成したいと考えています。3といいえ。上記の4。

  6. 最後に、上記 1 で説明したミラーリングを実行します。

私は os.walk と filecmp.dircmp の操作方法を学ぶために時間を費やしました。
私の目的には os.walk の方が適しているのではないかと思います。

どんな提案でも大歓迎です。ありがとう、マーク

4

1 に答える 1

1

最初のステップとして、http://docs.python.org/library/shutil.html#shutil.copytreeから始まるshutilモジュールを見ください

2番目のステップでは、filecmp.dircmpが妥当な選択です。

5番目のステップでは、 tarfileモジュールzipfileモジュールのアーカイブオプションを確認します。

于 2011-11-28T08:38:02.903 に答える