用python写一个监控服务器上文件夹内文件增删改情况的程序,要求识别操作人,所作动作,操作对象
时间: 2023-05-23 12:02:56 浏览: 69
可以使用Python的watchdog库来监控指定文件夹内的文件变化。通过watchdog的事件回调函数可以获取到操作人信息、操作类型以及操作对象等信息。以下是一个基本的监控文件夹变化的代码,你可以对其进行修改以获取更详细的操作信息:
```python
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_any_event(self, event):
if event.is_directory:
return None
elif event.event_type == 'created':
# 文件被创建
print("操作人:%s,操作:%s了%s。" % (event.src_path, "创建", event.src_path.split('/')[-1]))
elif event.event_type == 'modified':
# 文件被修改
print("操作人:%s,操作:%s了%s。" % (event.src_path, "修改", event.src_path.split('/')[-1]))
elif event.event_type == 'deleted':
# 文件被删除
print("操作人:%s,操作:%s了%s。" % (event.src_path, "删除", event.src_path.split('/')[-1]))
else:
# 其他事件
print("无法识别的操作:%s" % (event.event_type))
if __name__ == "__main__":
path = '/path/to/monitor/' # 监控的文件夹路径
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
```
注意:本代码只提供基本的操作信息,如果要获取更多详细信息,比如操作人信息,需要在程序中进行相应的处理。
希望能帮到你!
阅读全文