要捕获文件和文件夹打开事件,可以使用Python的watchdog库。
首先,确保已安装watchdog库。您可以使用以下命令安装:
pip install watchdog
接下来,使用以下代码示例来捕获文件和文件夹打开事件:
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
if event.is_directory:
print(f"文件夹被打开: {event.src_path}")
else:
print(f"文件被打开: {event.src_path}")
if __name__ == "__main__":
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path=".", recursive=True)
observer.start()
try:
while True:
pass
except KeyboardInterrupt:
observer.stop()
observer.join()
在上面的示例中,我们创建了一个自定义的FileSystemEventHandler类,它继承自watchdog的FileSystemEventHandler类。我们重写了on_modified方法,在文件或文件夹被修改时被调用。在该方法中,我们判断事件是文件夹事件还是文件事件,并打印相应的消息。
然后,我们创建一个Observer对象和一个MyHandler对象,并将MyHandler对象注册到Observer对象上。我们使用schedule方法指定要监视的路径(在此示例中,我们监视当前目录及其子目录)。
最后,我们启动Observer对象,并在try-except块中使用无限循环来保持程序运行。如果检测到键盘中断(Ctrl+C),我们停止Observer对象,并使用join方法等待所有事件的处理完成。
运行上述代码后,当有文件或文件夹被打开时,将会打印相应的消息。您可以根据自己的需求对代码进行修改和扩展。
上一篇:捕获文件被锁定异常
下一篇:捕获WHERE子句的正则表达式