指定したフォルダを監視して,そのフォルダにtiffファイルが作成されたらそのtiffファイルを読み込む処理を行いたいです。
しかし,フォルダが空の時にtiffファイルが生成された時は処理がうまくいくのですが,フォルダに既に別のtiffファイルがある場合だとエラーが生じます。
osはwindows10を使用しています。
コード
import time import os from watchdog.events import FileSystemEventHandler from watchdog.observers import Observer import tifffile watch_dir = "C:\Users\hotaru\Desktop\monitor_test" class ChangeHandler(FileSystemEventHandler): def on_created(self, event): filepath = event.src_path img = tifffile.imread(filepath) if __name__ == "__main__": while 1: event_handler = ChangeHandler() observer = Observer() observer.schedule(event_handler, watch_dir, recursive=True) observer.start() try: while True: time.sleep(0.1) except KeyboardInterrupt: observer.stop() observer.join()
エラー内容
Exception in thread Thread-6: Traceback (most recent call last): File "C:\Users\hotaru\Anaconda3\lib\threading.py", line 916, in _bootstrap_inner self.run() File "C:\Users\hotaru\Anaconda3\lib\site-packages\watchdog\observers\api.py", line 203, in run self.dispatch_events(self.event_queue, self.timeout) File "C:\Users\hotaru\Anaconda3\lib\site-packages\watchdog\observers\api.py", line 376, in dispatch_events handler.dispatch(event) File "C:\Users\hotaru\Anaconda3\lib\site-packages\watchdog\events.py", line 336, in dispatch }[event.event_type](event) File "<ipython-input-1-4c37897adf13>", line 13, in on_created img = tifffile.imread(filepath) File "C:\Users\hotaru\Anaconda3\lib\site-packages\tifffile\tifffile.py", line 444, in imread with TiffFile(files, **kwargs_file) as tif: File "C:\Users\hotaru\Anaconda3\lib\site-packages\tifffile\tifffile.py", line 1745, in __init__ fh = FileHandle(arg, mode='rb', name=name, offset=offset, size=size) File "C:\Users\hotaru\Anaconda3\lib\site-packages\tifffile\tifffile.py", line 4683, in __init__ self.open() File "C:\Users\hotaru\Anaconda3\lib\site-packages\tifffile\tifffile.py", line 4696, in open self._fh = open(self._file, self._mode) PermissionError: [Errno 13] Permission denied: 'C:\Users\hotaru\Desktop\monitor_test\2020_1_9_13_59_47_depthfield.tiff'
img = tifffile.imread(filepath)の部分でエラーが生じているようです。
尚,tifffileモジュールを使用してtiff画像を読み込みたいです。
それ以外の制約はありません。
どのように解決すればよいのか教えて頂きたいです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/28 10:36