如何检查FTP服务器目录中的更改?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查FTP服务器目录中的更改?相关的知识,希望对你有一定的参考价值。
我想在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()
答案
FTP协议没有API来通知客户端有关更改。
如果FTP是远程文件系统的唯一接口,则唯一的解决方案是定期轮询FTP文件夹以查找更改。
例如,参见Monitor remote FTP directory。
以上是关于如何检查FTP服务器目录中的更改?的主要内容,如果未能解决你的问题,请参考以下文章
ruby 使用Ruby Net :: FTP库的示例代码。登录FTP服务器,列出文件,检查目录是否存在,上传文件