python - 使用Python备份目录和子目录;使用 os.walk 或 filecmp.dircmp 或其他东西

标签 python backup os.walk file-comparison

我是一个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. 接下来,我想在 bakup_dir_a2 中创建一个存档(.rar 或 .zip),其中包含第 1 段中标识的所有文件的副本。 3 和没有。以上 4 条。

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

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

如有任何建议,我们将不胜感激。 谢谢, 马克

最佳答案

第一步,请查看 shutil module ,从 http://docs.python.org/library/shutil.html#shutil.copytree 开始

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

第五步,查看 tarfile module 中的存档选项和 zipfile module .

关于python - 使用Python备份目录和子目录;使用 os.walk 或 filecmp.dircmp 或其他东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293089/

相关文章:

python Mac OS : os. path.getsize 返回的值与 du -ks 不同?

python - 捕获在 python 中运行的 bash 代码的输出

database - 在网络驱动器上备份 SQL Server 2008 数据库

外部访问时的 Python Bottle 问题

svn - 您建议我的网站使用什么版本控制系统?

c# - 如何在 C# 中备份和恢复系统剪贴板?

python - os.walk 在第一次找到后停止寻找子目录

python - 如何停止遍历当前根并迭代到下一个根

python - 使用函数更改列表的值

python - 比较文件中的标记并生成通用标记/值