python

python isfile在文件监控中如何应用

小樊
84
2024-12-04 13:54:03
栏目: 编程语言

os.path.isfile() 是一个 Python 函数,用于检查给定的路径是否是一个存在的文件

以下是一个简单的示例,展示了如何使用 watchdog 库监控一个文件夹中的文件更改,并在检测到新文件时使用 os.path.isfile() 进行检查:

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

class FileChangeHandler(FileSystemEventHandler):
    def on_created(self, event):
        if os.path.isfile(event.src_path):
            print(f"New file created: {event.src_path}")
        else:
            print(f"New folder created: {event.src_path}")

if __name__ == "__main__":
    path = "/path/to/monitor"
    event_handler = FileChangeHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=False)
    observer.start()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

在这个示例中,我们首先导入所需的库,然后定义一个名为 FileChangeHandler 的类,该类继承自 FileSystemEventHandler。我们重写了 on_created 方法,以便在检测到新文件或文件夹时执行操作。在这个方法中,我们使用 os.path.isfile() 检查给定的路径是否是一个文件。如果是文件,我们打印出新创建的文件路径;否则,我们打印出新创建的文件夹路径。

最后,我们创建一个 Observer 对象,将 FileChangeHandler 实例与其关联,并指定要监控的路径。然后,我们启动观察者并等待用户按下 Ctrl+C 以停止程序。

0
看了该问题的人还看了