在Python中观看和可靠上传文件的最佳做法?

时间:2014-04-18 17:07:59

标签: python file-upload python-watchdog

我正在使用Python 2.7为Windows构建桌面应用程序。此应用程序的主要功能是查看新文件的文件夹。每当新文件出现在此文件夹中时,应用程序就会将其上传到远程服务器。远程服务器上的进程为该文件创建db记录,并在该记录中存储远程文件路径。

目前,我正在使用watchdog来监控目录,并使用httplib进行文件上传。

  1. 我应该采取什么方法来确保无论网络状况或互联网连接丢失都能可靠地上传新文件?

    更新:可靠上传的意思是即使应用重新启动,应用也会上传文件。像Dropbox一样。有些文件非常大(> 100 MB),所以简单的解决方案,如在try / catch中包装代码并开始全部上传都不是很有效。我知道Dropbox使用librsync,但在这种情况下它可能有点过分。

  2. 如果在上传过程中更改了源文件,该怎么办?我应该停止上传并重新开始吗?

1 个答案:

答案 0 :(得分:1)

您可以维护文件名,时间戳和有关其上传状态的信息的文件或数据库。根据该数据,您将知道在重新启动应用程序或计算机后已经发送了哪些文件以及上传的内容。

检查时间戳告诉您文件已被修改,上传过程应该重新开始。