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