Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from watchdog.events import FileSystemEventHandler
- from watchdog.observers import Observer
- import os
- import time
- target_dir = r"対象フォルダのパス"
- class ChangeHandler(FileSystemEventHandler):
- def on_modified(self, event):
- filepath = event.src_path
- filename = os.path.basename(filepath)
- print('%sを変更しました' % filename)
- if __name__ in '__main__':
- while 1:
- event_handler = ChangeHandler()
- observer = Observer()
- observer.schedule(event_handler, target_dir, recursive=True)
- observer.start()
- try:
- while True:
- time.sleep(0.1)
- except KeyboardInterrupt:
- observer.stop()
- observer.join()
- test.txtを変更しました
- test.txtを変更しました
- class ChangeHandler(FileSystemEventHandler):
- def on_created(self, event):
- filepath = event.src_path
- filename = os.path.basename(filepath)
- print('%sができました' % filename)
- def on_modified(self, event):
- filepath = event.src_path
- filename = os.path.basename(filepath)
- print('%sを変更しました' % filename)
- test - コピー.txtができました
- test - コピー.txtを変更しました
- test - コピー.txtを変更しました
- import hashlib
- hashes = {}
- def on_modified(self, event):
- filepath = event.src_path
- filename = os.path.basename(filepath)
- with open(filepath, 'rb') as f:
- checksum = hashlib.md5(f.read()).hexdigest()
- if filename not in hashes or (hashes[filename] != checksum):
- hashes[filename] = checksum
- print('%sを変更しました' % filename)
- else:
- # ハッシュが既存のものと変更していない
- pass
Add Comment
Please, Sign In to add comment