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 以停止程序。