【问题标题】:Backup dirs and subdirs using Python; Use os.walk or filecmp.dircmp, or something else使用 Python 备份目录和子目录;使用 os.walk 或 filecmp.dircmp 或其他
【发布时间】:2011-11-28 08:18:58
【问题描述】:

我是 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 可能是更适合我的设备。

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

【问题讨论】:

标签: python backup os.walk file-comparison


【解决方案1】:

第一步,看shutil module,以http://docs.python.org/library/shutil.html#shutil.copytree开头

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

对于第五步,查看tarfile module 和zipfile module 中的归档选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    相关资源
    最近更新 更多