1

我是蟒蛇新手。我的问题是我应该使用什么方法来设置文件/目录备份例程,如下所述(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. 接下来,我想在 bakup_dir_a2 中创建一个存档(.rar 或 .zip),其中包含第 1 段中标识的所有文件的副本。3和没有。4 以上。

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

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

任何建议将不胜感激。谢谢,马克

4

1 回答 1

1

第一步,看一下shutil模块,从http://docs.python.org/library/shutil.html#shutil.copytree开始

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

第五步,看看tarfile 模块zipfile 模块中的归档选项。

于 2011-11-28T08:38:02.903 回答