我试图让Python准确读取.TIF中有多少页面,并且我已经从昨天获得的一些帮助中修改了一些代码。我已经让Python读取.TIF文件并输出页面,但它只读取它可以找到的第一个.TIF文件。我需要它来遍历同一位置的所有.TIF文件。
我想知道我怎么能这样做,这样一旦完成计数,它将继续到下一个文件,直到它完全完成。
这是我到目前为止所拥有的
import os
from PIL import Image
count = 0
i = 0
tiffs_path = "c:\\tiftest"
for filename in os.listdir("c:\\tiftest"):
if filename.endswith(".TIF"):
img = Image.open(filename)
while True:
try:
img.seek(count)
print(filename)
print(count)
except EOFError:
break
count += 1
print(count)
答案 0 :(得分:1)
您可以使用Image.n_frames
查找TIFF中的帧数。它被添加到Pillow 2.9.0中。
例如,使用Pillow 4.2.1:
Python 2.7.13 (default, Dec 18 2016, 07:03:39)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from PIL import Image
>>> img = Image.open("multipage.tiff")
>>> img.n_frames
3
>>>
所以,像这样:
import os
from PIL import Image
count = 0
i = 0
tiffs_path = "c:\\tiftest"
for filename in os.listdir("c:\\tiftest"):
if filename.endswith(".TIF"):
img = Image.open(filename)
print(filename)
print(img.n_frames)