当我在Spyder IDE中运行以下脚本时,只要修改了受监视文件夹中的文件,看门狗就会触发两个FileModifiedEvent
而不是一个from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
monitored_folder = 'D:\\Users\\myuser\\Desktop\\test'
class FolderMonitor(FileSystemEventHandler):
def on_any_event(self, event):
print(event)
observer = Observer()
observer.schedule(FolderMonitor(), monitored_folder)
observer.start()
try:
while True:
import time
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
。脚本是通过iPython还是在常规控制台中运行并不重要。从命令提示符执行脚本时不会发生此问题,因此问题必须与Spyder有关。
<FileModifiedEvent: src_path='D:\\Users\\myuser\\Desktop\\test\\test.txt'>
<FileModifiedEvent: src_path='D:\\Users\\myuser\\Desktop\\test\\test.txt'>
在Spyder内部,输出为:
<FileModifiedEvent: src_path='D:\\Users\\camposb\\Desktop\\test\\test.txt'>
通过命令提示符,输出为:
SparseArray<? extends Parcelable> value)
代码正在Windows 7中使用Python 3.5.1和Spyder 2.3.8执行。