2012-08-24 163 views
1

我只能通過FTP訪問遠程服務器上的目錄,並希望一旦它們出現在目錄中就可以獲取新文件的內容。監控遠程FTP目錄

有沒有像Python的FAM這樣的東西讓我監視通過FTP的新文件?

回答

4

如果輪詢服務器是一個選項:

from ftplib import FTP 
from time import sleep 

ftp = FTP('localhost') 
ftp.login() 

def changemon(dir='./'): 
    ls_prev = set() 

    while True: 
     ls = set(ftp.nlst(dir)) 

     add, rem = ls-ls_prev, ls_prev-ls 
     if add or rem: yield add, rem 

     ls_prev = ls 
     sleep(5) 

for add, rem in changemon(): 
    print('\n'.join('+ %s' % i for i in add)) 
    print('\n'.join('- %s' % i for i in remove)) 

ftp.quit()