使用Python备份目录和子目录;使用os.walk或filecmp.dircmp,或其他

时间:2011-11-28 08:18:59

标签: python backup os.walk file-comparison

我是一个蟒蛇新手。 我的问题是我应该使用什么方法来设置文件/目录备份例程,如下所述(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(及其所有子目录)中删除;

    < / LI>
  5. 接下来,我想在bakup_dir_a2中创建一个存档(.rar或.zip),其中包含段落号中标识的所有文件的副本。 3,没有。 4以上。

  6. 最后,我将执行上面第1段中描述的镜像。

  7. 我花了一些时间来学习如何使用os.walk和filecmp.dircmp 我怀疑os.walk可能是我用途更好的设备。

    我们非常感谢任何建议。 谢谢,                     马克

1 个答案:

答案 0 :(得分:1)

首先,请查看shutil module,从http://docs.python.org/library/shutil.html#shutil.copytree

开始

对于第二步,filecmp.dircmp是一个合理的选择。

要进行第五步,请查看tarfile modulezipfile module中的归档选项。