我可以使用本机Python / pywin32在远程文件夹之间同步文件吗?

时间:2016-03-11 11:02:31

标签: windows python-2.7 duplicates lan file-management

我在桌面计算机上可以访问远程文件服务器(Windows)。登录时授予读/写访问权限,我无需重新输入用户名和密码。

我想:

  • 将几个非常大的文件从一个远程文件夹复制到另一个
  • (目标文件夹可能包含传入文件的副本)
  • 避免产生不必要的网络流量
  • (包括不复制重复)

目前,我为所有文件执行了盲shutil.copy2()。这意味着不必要地复制重复项。系统管理员还报告,当数据从 remote-folder-1 复制到 local-memory remote-folder-2

原生Python或pywin32中是否存在满足这些要求的现有命令?

放弃的选项包括CopyFileEx通过pywin32(它没有重复检查),以及本机Python byte-checkingchecksumming(仍然读取文件,从而生成网络流量) )。

后备包括记录校验和,stat-based comparison(不进行字节检查)和乐观(部分)校验和。

1 个答案:

答案 0 :(得分:0)

Windows提供了一些同步的库存解决方案 - offline filesbriefcasedeprecated since Win8),sync centernew in Vista)。第二个似乎有only a limited API,而其他人'}看起来很完整。如果您不想使用其中任何一种,您将使用第三方解决方案。 Python可以与其中任何一个一起使用(例如使用ctypes)。

Python本身并没有在标准库中进行数据同步(因为它显然是一个非常自定义的任务)。当然,有很多第三方模块可供选择。