gpt4 book ai didi

python - 使用 python-watchdog 监控文件夹,但是当我重命名文件时,我一直无法找到查看新文件名的方法

转载 作者:行者123 更新时间:2023-11-28 20:44:59 24 4
gpt4 key购买 nike

重命名在看门狗中监视的文件会产生一个 on_moved 事件触发器。我遇到的问题是无法判断文件被移动/重命名为什么(因为 on_moved 事件触发器也会在文件重命名时发生)。有什么方法可以将它内置到看门狗中,或者我应该在我正在编写的程序中构建一个解决方法吗?

这是一些示例代码

#!/usr/bin/python
'''
Created on 2014-07-03
'''

import sys
import time

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

'''
Extend FileSystemEventHandler to be able to write custom on_any_event method
'''
class MyHandler(FileSystemEventHandler):
'''
Overwrite the methods for creation, deletion, modification, and moving
to get more information as to what is happening on output
'''
def on_created(self, event):
print("created: " + event.src_path)

def on_deleted(self, event):
print("deleted: " + event.src_path)

def on_modified(self, event):
print("modified: " + event.src_path)

def on_moved(self, event):
print("moved/renamed: " + event.src_path)


watch_directory = sys.argv[1] # Get watch_directory parameter

event_handler = MyHandler()

observer = Observer()
observer.schedule(event_handler, watch_directory, True)
observer.start()

'''
Keep the script running or else python closes without stopping the observer
thread and this causes an error.
'''
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

每当事件发生时,代码都会打印出发生的事件类型以及文件/文件夹的路径。它需要一个参数,即要观看的文件夹的路径。

最佳答案

如果你不知道一个对象有哪些方法和属性在你的情况下,只需在此处执行 print dir(obj) event.dest_path 即可完成工作

关于python - 使用 python-watchdog 监控文件夹,但是当我重命名文件时,我一直无法找到查看新文件名的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24597025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com