python监控文件夹有没有新的文件生成(python监控文件创建)

1年前 (2023-09-06)阅读89回复0
佳欣
佳欣
  • 注册排名10008
  • 经验值10
  • 级别
  • 主题2
  • 回复0
楼主

最近有个需求需要在服务器端监控文件创建,当有文件创建时,能够及时获取文件名及其路径。考虑到Python的丰富性和易用性,我们选择使用Python编写监控文件创建的程序。

在Python中,可以使用watchdog库来实现文件或文件夹的监控。该库提供了一些类和方法,可以根据需要实现不同的监控功能。要监控文件的创建,我们需要使用watchdog.observers.Observer类和watchdog.events.FileSystemEventHandler类。

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class FileCreatedEventHandler(FileSystemEventHandler):
def on_created(self, event):
if not event.is_directory:
print('File Created:', event.src_path)
if __name__ == '__main__':
observer = Observer()
event_handler = FileCreatedEventHandler()
observer.schedule(event_handler, path='/path/to/monitor', recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

在上面的代码中,我们定义了一个FileCreatedEventHandler类,继承自watchdog.events.FileSystemEventHandler。在该类中,我们只关心on_created方法,这是一个回调函数,当有文件被创建时调用。在该函数中,我们首先判断被创建的事件不是目录,然后打印文件创建的信息。

if __name__ == '__main__':段中,我们创建了一个Observer实例和一个FileCreatedEventHandler实例。通过observer.schedule(event_handler, path='/path/to/monitor', recursive=True)方法,我们指定了需要监控的路径,以及是否递归遍历子目录。最后,我们通过observer.start()方法开启监控,并通过无限循环及observer.stop()observer.join()方法来确保程序一直运行,直到用户手动停止。

运行上面的Python程序,当有新文件被创建时,会输出文件创建的信息。这样,我们就成功实现了Python监控文件创建的功能。

本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/1025.html

0
回帖

python监控文件夹有没有新的文件生成(python监控文件创建) 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息