如何检查FTP服务器目录中的更改?

问题描述 投票:1回答:1

我想在FTP上的目录中添加新文件后立即将文件从FTP服务器获取到本地。

我知道使用看门狗观察器可以看到本地机器目录的变化。

但我想在FTP服务器上检查目录中的更改(添加新文件,删除文件)。

怎么做到这一点?

我用来检查本地机器上目录的变化的代码: -

    from watchdog.observers import Observer
    from watchdog.events import FileSystemEventHandler
    import ftplib
    import time

    class ExampleHandler(FileSystemEventHandler):
          def on_created(self, event): 
                print "Got event for file %s" % event.src_path 

    session = ftplib.FTP('address','username','password')
    path='/directory/to/check'
    session.cwd(path) 
    observer = Observer()
    event_handler = ExampleHandler() 
    observer.schedule(event_handler, path_of_the_directory)
    observer.start()
    try:
       while True:
          time.sleep(1)
    except KeyboardInterrupt:
          observer.stop()

    observer.join()
python ftp ftplib python-watchdog
1个回答
1
投票

FTP协议没有API来通知客户端有关更改。

如果FTP是远程文件系统的唯一接口,则唯一的解决方案是定期轮询FTP文件夹以查找更改。

例如,参见Monitor remote FTP directory

© www.soinside.com 2019 - 2024. All rights reserved.