2012-04-21 141 views

回答

2

首先,檢查,以查看本地文件是否真的變了沒有任何與FTP。你說的是你只打開一個FTP連接來上傳文件,如果/當它發生了變化。

在高層次上,您需要使用的基本策略是跟蹤應用程序上次檢查更改的時間(以前的執行時間戳),並將其與您感興趣的文件的時間戳進行比較在上傳。如果文件上的時間戳更新,它們很可能已經改變。我說很可能是因爲可以只更新時間戳(例如,unix/linux上的touch)。

這裏是你展示如何檢查修改時間對於所有在特定目錄中的項目的一個簡單的例子:

import os, time 

checkdir="./" 

for item in os.listdir(checkdir): 
    item_path = "%s%s"%(checkdir,item) 
    mtime = os.path.getmtime(item_path) 
    print "%s: %s" %(item_path,mtime) 

請注意,這並不文件類型之間的區別(如普通文件,目錄,符號鏈接)。閱讀docs on os.path以瞭解如何確定文件類型,以便您可以跳過某些類型(如果您願意的話)。

您仍然需要提出邏輯來存儲先前'掃描'的時間,以便在後續掃描中引用它。一個非常簡單的方法是將值存儲在文件中。

確保您在使用的情況下鎖定策略二「掃描」重疊區。 FTP上傳需要一些時間才能完成。

相關問題