使用Python备份目录及其子目录:使用os.walk、filecmp.dircmp或其他方法
我是一名刚接触Python的新手。 我想知道我应该用什么方法来设置一个文件/目录备份的例程,具体如下(是用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(以及它的所有子目录)中删除的文件(包括完整路径和文件名);
接下来,我想在bakup_dir_a2中创建一个压缩文件(.rar或.zip),里面包含上面第3和第4段中提到的所有文件的副本。
最后,我会执行上面第1段中描述的镜像操作。
我花了一些时间试着学习如何使用os.walk和filecmp.dircmp。
我觉得os.walk可能更适合我的需求。
任何建议都将非常感谢。 谢谢, Marc