TIFファイルの分割、OSError: [Errno 24] Too many open files:
解決したいこと
python で複数のマルチtiffを分割しました。
複数を順番に処理するとエラーが発生しました。
解決方法をお教えくださいませ。
環境
OS:windows
python 3.85
PCによっては動作します。
発生している問題・エラー
Traceback (most recent call last):
File "test2.py", line 11, in <module>
File "test2.py", line 7, in DIV
File "C:\Users\dcuser03\anaconda3\lib\site-packages\PIL\Image.py", line 2169, in save
OSError: [Errno 24] Too many open files: '0456.jpg'
エラー箇所
OSError: [Errno 24] Too many open files: '0456.jpg'
該当するソースコード
import glob
from PIL import Image, ImageSequence
def DIV(N):
img = Image.open(N)
for i, page in enumerate(ImageSequence.Iterator(img)):
page.save("{}.jpg".format(str(i+1).zfill(4)), format='jpeg', quality=95)
L=glob.glob("*.TIF")
for j in L:
DIV(j)
エラー箇所
for i, page in enumerate(ImageSequence.Iterator(img)):
page.save("{}.jpg".format(str(i+1).zfill(4)), format='jpeg', quality=95)
自分で試したこと
withやcloseで閉じ、ファイルディスクリプタ上限に達しないよう工夫しましたが結果は同じでした。
工夫したコード(同様のエラー)
def DIV(N):
with Image.open(N) as im:
index = 1
for frame in ImageSequence.Iterator(im):
frame.save(N[:11] + "{}.jpg".format(str(index+1).zfill(4)), format='jpeg', quality=95)
index += 1
何卒お願い申し上げます。
0 likes