我是一个蟒蛇新手。 我的问题是我应该使用什么方法来设置文件/目录备份例程,如下所述(os.walk或filecmp.dircmp,或其他)。
我想按如下方式设置备份例程:
每天晚上,我想把“bakup_dir_a1”(及其所有子目录)变成“local_dir_a”(及其所有子目录)的镜像;但是,每个晚上。 。 。
首先,我想将local_dir_a(及其所有子目录)与bakup_dir_a1(及其所有子目录)进行比较,以识别差异。
接下来,我想在bakup_dir_a1(及其所有子目录)中创建一个文件列表(包括文件名的完整路径),这些文件将替换为从local_dir_a(及其所有子目录)复制的较新文件,以及新文件和旧文件的相应上次修改日期;
接下来,我想在bakup_dir_a1(及其所有子目录)中创建一个文件列表(包括文件名的完整路径),它将从bakup_dir_a(及其所有子目录)中删除;
< / LI>接下来,我想在bakup_dir_a2中创建一个存档(.rar或.zip),其中包含段落号中标识的所有文件的副本。 3,没有。 4以上。
最后,我将执行上面第1段中描述的镜像。
我花了一些时间来学习如何使用os.walk和filecmp.dircmp 我怀疑os.walk可能是我用途更好的设备。
我们非常感谢任何建议。 谢谢, 马克
答案 0 :(得分:1)
首先,请查看shutil module,从http://docs.python.org/library/shutil.html#shutil.copytree
开始对于第二步,filecmp.dircmp是一个合理的选择。
要进行第五步,请查看tarfile module和zipfile module中的归档选项。